Welcome to the Restaurant Kitchen Manager! This Django-based web application allows restaurant managers to efficiently manage their kitchen operations, including handling dishes, dish types, and cooks. Streamline your kitchen management processes with an intuitive and user-friendly interface.
Experience the Restaurant Kitchen Manager in action! Visit the live website:
Use the following credentials to log in as a test user:
- Login URL:
https://restaurant-kitchen-manager.onrender.com/accounts/login/ - Username:
user - Password:
user
- User Authentication
- Register as a cook.
- Secure login and logout functionalities.
- Dish Management
- Create, view, update, and delete dishes.
- Assign multiple cooks to a dish.
- Dish Type Management
- Organize dishes by types (e.g., Soup, Cake, Pasta).
- Cook Management
- View detailed information about each cook, including their experience and assigned dishes.
- Search and Filtering
- Search for dishes by name.
- Filter dishes by dish type.
- Responsive Design
- Built with Bootstrap for a seamless experience across devices.
Follow these steps to set up the project locally:
git clone https://github.com/zaietsmo/restaurant-manager.git
cd restaurant-managerIt's recommended to use a virtual environment to manage dependencies.
python -m venv venvActivate the virtual environment:
-
Windows:
venv\Scripts\activate
-
macOS and Linux:
source venv/bin/activate
Install the required Python packages using pip:
pip install -r requirements.txtCreate a .env file in the root directory of the project and add the necessary environment variables. Here's an example of what the .env file might look like:
DEBUG=True
SECRET_KEY=your-secret-key
ALLOWED_HOSTS=localhost,127.0.0.1
DATABASE_URL=sqlite:///db.sqlite3Note: Replace your-secret-key with a secure secret key. In a production environment, ensure that DEBUG is set to False and configure ALLOWED_HOSTS appropriately.
Create the necessary database tables:
python manage.py migrateIf you have a fixture (dump.json) with initial data, you can load it using:
python manage.py loaddata dump.jsonTo access the Django admin interface, create a superuser:
python manage.py createsuperuserFollow the prompts to set up your superuser account.
Start the Django development server:
python manage.py runserverVisit http://127.0.0.1:8000/ in your browser to access the application.
Once the development server is running, navigate to the live site or your local server address. You can perform the following actions:
- Register as a Cook: Create a new cook account.
- Login: Access the dashboard with your credentials.
- Manage Dishes: Add, edit, view, or delete dishes.
- Manage Dish Types: Organize dishes by their types.
- View Cooks: See information about each cook and their assigned dishes.
- Backend:
- Django - Python web framework.
- Frontend:
- Bootstrap - CSS framework for responsive design.
- Database:
- SQLite (default) or PostgreSQL (if configured).
- Others:
- Gunicorn - WSGI HTTP server for UNIX.
- Whitenoise - For serving static files.
- django-crispy-forms - For enhanced form rendering.
- python-dotenv - For managing environment variables.
Contributions are welcome! Please follow these steps to contribute:
-
Fork the Repository
-
Create a New Branch
git checkout -b feature/YourFeatureName
-
Make Changes and Commit
git commit -m "Add some feature" -
Push to the Branch
git push origin feature/YourFeatureName
-
Open a Pull Request
Provide a clear description of your changes and the benefits they bring.
This project is licensed under the MIT License.
For any inquiries or support, feel free to reach out:
- Email: mykola.oleksandr.zaiets@gmail.com
- GitHub: zaietsmo
Enjoy managing your restaurant kitchen efficiently!