This project simplifies the process for Department Managers at Lucky Stores Supermarket to view and edit their IRIS-recommended orders by generating barcodes for each item in their current list. Instead of hand-typing in the order codes of each item in the hand-held gun, we simply just have to scan it.
What did you learn while building this project?
- Building backend with Python using FastApi 🐍
- Table manipulation using pandas: Series and DataFrame types! 🐼
- Jinja Templates 🥷🏼
- Practice with Python's built-in modules:
- os
- asyncio
- logging
- shutil
What challenges did you face and how did you overcome them?
- Understanding what pandas' Series and DataFrame types are is fairly straightforward. Manipulating them using built-in methods took some reading and a bunch of printing/debugging, this was solved by constantly referring to the pandas docs.
- Another challenge I encountered was the need to keep track of the errors that my app throws while in production. I had to re-learn how to efficiently use loggers again. This time, just logging the essential details needed to reproduce the error in development in order to fix the bug.
To run this project on your local machine, follow these steps:
git clone https://github.com/joe-bor/luckys_iris.git
- Navigate to the project directory:
cd luckys_iris
- Create a
.env
file in the root directory of the project and add the following environment variables, adjust to your needs:
PORT=8000 # where to serve run your app
DELAY=30 # seconds before clean up function runs
- Install the required dependencies:
pip install -r requirements.txt
- Run the application:
uvicorn main:app --reload
This command will start a local server, typically accessible at http://127.0.0.1:8000
.
- To interact with the application, use the provided URLs in your web browser or through a tool like Postman.
No, I wanted to add a piece to my portfolio that is actually being used by people.
I saw an opportunity to make my life and my coworkers' easier by solving a problem we all faced.
- Add reactivity in the front-end (search/sort/filter).
- create a database for the items/documents
- refactor backend and follow MVC architecture
If you have any feedback, please reach out to me at bor.joezari@gmail.com
This project is used by the following companies:
- Lucky Stores