Cornershop meals is a meal management app built using Python-Django that provides a very convenient way of meal reservation to employees. This app has following features:
- There is a custom Login page, Signup page, Employee profiles and Admin panel.
- Admin can create a menu with various options for employees to choose, modify the menu and send Slack messages to all the employees in the company.
- Employees can login using their credentials, view the menu and make their food selection. Employees cannot make a selection after 11 AM ET, they also have option to write custom notes to modify their meals or mention their diet restrictions.
- Employees can only view their own selection, not the selection of other employees.
- Admin can view selections of all the employees.
Go to the menu page to see what's in today's menu and use the app!
This app is deployed on Heroku https://cornershop-meals-app.herokuapp.com. Please follow below steps if you would like to setup the project locally.
-
Clone this repository
$ git clone https://github.com/jubins/Cornershop-Meals.git -
Create a virtual env with Python 3
$ virtualenv venv $ virtualenv source venv/bin/activate -
Install dependences
$ pip install -r requirements.txt -
I am using Postgres database for storing the data, Redis as message broker, Celery for asynchronous slack messaging and Slack webhook. Configure these environment variables in
corenershopmeals/env.ini. -
Apply Django migrations
$ cd cornershopmeals $ python manage.py makemigrations $ python manage.py migrate -
Start Django server
$ python manage.py runserver -
Run Celery (in a different terminal window)
$ celery -A cornershopmeals worker -l info -
Go to
localhost:8000/signupto create a food admin employee account that will be the food admin, by checkingis_staffoption and make sure to choose goodusernameandpasswordotherwise Signup will not occur. You can also create a superuser.$ python manage.py createsuperuser -
Go to
localhost:8000/loginto create some employee accounts and use the app. -
Slack notifications are sent on a channel. Please configure your slack
WEBHOOK_URLincorenershopmeals/env.inito test slack notifications.
All the test cases are located in
- Jubin Soni
- [email protected]
This project is hosted on Heroku: feel free to create accounts https://cornershop-meals-app.herokuapp.com/signup/ and test the app.





