In this project, we were tasked to create a web-based grocery store application, which I have named 'GrocerEase'. Key features include product browsing, cart management, order placement for users; product CRUD, raise request for category CRUD, statistical summaries for store managers; category CRUD, store manager sign up and request approvals for admin.
- Frontend
- Vue.js 2
- VueRouter
- Vuex
- Backend
- Flask
- Flask-SQLAlchemy
- Flask-RESTful
- Flask-Caching
- Flask-Security
- Celery
- Database
- Redis
- SQLite
- Mail
- mailhog
- smtplib
Following are the steps one can follow to run the app after unzipping the zip file:
-
Open terminal window and navigate to the
Code
folder after unzipping the zip file. -
Run the build.sh file to set up the virtual environment and download essential packages/libraries:
$ source build.sh
- Run the app:
$ python app.py
You can run the app on the IP address the terminal window is showing
- In another terminal window, and run the REDIS server:
$ redis-server
- In another terminal window, start the mailhog:
$ mailhog
- In another terminal window, source the
.venv
and start the celery worker:
$ source .venv/bin/activate
$ celery -A app:celery_app worker --loglevel INFO
- In another terminal window, source the
.venv
and start the celery beat:
$ source .venv/bin/activate
$ celery -A app:celery_app beat --loglevel INFO
The GrocerEase app is now ready to be explored!