SwissEat is a sleek and modern food delivery platform built with Flask, designed to connect hungry customers with local restaurants in Switzerland. The platform features a dark mode UI and provides an intuitive experience for both customers and restaurant owners.
This project is under active development and not production-ready yet. (Project in German)
- 🔍 Browse restaurants by cuisine type
- 🛒 Easy ordering process with cart functionality
- 💳 Multiple payment options (Cash, TWINT, PayPal)
- 📍 Save delivery addresses
- 📱 Modern and responsive dark mode UI
- 📊 Comprehensive dashboard with real-time statistics
- 🍽️ Menu management system
- 📦 Order tracking and management
- 💼 Business analytics
- 🔄 Toggle restaurant active status
- 📊 MySql and PhpMyAdmin for better Database management
⚠️ Admin Dashboard and Backend with roles and access levels planned
- Backend: Python Flask
- Database: MySQL PyMySQL and PhpMyAdmin (included) (or SQLite with SQLAlchemy ORM)
- Frontend: HTML5, CSS3, JavaScript
- Authentication: Flask-Login
- Forms: Flask-WTF
- UI Framework: Bootstrap 5
- Icons: Font Awesome
- Clone the repository:
git clone https://github.com/FunlightStudios/Food-Delivery-Platform.git
cd Food-Delivery-Platform
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Download and install php from:
(Extract the zip file to c:\php
)
https://www.php.net/downloads.php
- Download and install MySQL from:
https://downloads.mysql.com/archives/installer/
- Edit the php.ini file:
Open the php.ini file and decomment or add the following lines:
extension=mysqli
extension=mbstring
extension=openssl
(optional)
extension=gd
extension=curl
extension=zip
- Edit the config.inc.php file(PhpMyAdmin) if needed:
If you Choosed a diffrent MySql Password you need to change it in the PhpMyAdmin config file
Food-Delivery-Platform\swisseat\templates\backend\phpmyadmin\config.inc.php
- Edit the Config.py file:
If you Choosed a diffrent MySql Password you need to change it in the Config.py file
Food-Delivery-Platform\swisseat\config.py
- Run the application:
python run.py
or
flask run
- Open your browser and Test:
The application will be available at http://localhost:80
You can change the Host, Port and Debug Mode in run.py
View step-by-step-installation.md
(Comming Soon)
You can log in with the following credentials
- Username:
user@example.com
- Password:
password
-
Username:
owner@example.com
-
Password:
password
-
Username:
owner1@example.com
-
Password:
password
-
Username:
owner2@example.com
-
Password:
password
SwissEat/
├── swisseat/
│ ├── __init__.py
│ ├── config.py
│ ├── models.py
│ ├── static/
│ │ ├── css/
│ │ └── img/
│ ├── templates/
│ └── routes/
├── migrations/
├── instance/
├── requirements.txt
└── README.md
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Flask documentation and community
- Bootstrap team for the amazing UI framework
- Font Awesome for the beautiful icons