A beautiful pizza ordering application built with KivyMD
Project description
๐ Pizza Ordering App
A beautiful and intuitive pizza ordering application built with KivyMD. This app features a modern interface for browsing pizza menus, managing orders, and handling user authentication with admin capabilities. (maybe I will pitch this to one pizza place, thank you SHIPWRECKEDD!!)
โจ Features
- ๐จ Material Design Interface - Beautiful, modern UI
- ๐ค User Authentication - Secure login/registration system with encrypted password storage
- ๐ Interactive Pizza Menu - Browse through various pizza options with detailed descriptions and prices
- ๐ Smart Shopping Cart - Add items to cart, modify quantities, change sizes, and manage orders
- ๐ฑ Responsive Design - Optimized for mobile and desktop viewing with touch-friendly controls
- ๐ Admin Panel - Admin users can manage orders, update status, and add new menu items
- ๐ซ Order Tracking - Get unique ticket numbers and track order status (Awaiting/Done)
- ๐พ Local Database - SQLite-based storage for users, menu items, and orders
- ๐ Secure Passwords - SHA256 encryption for user password protection
๐ Installation
Install the pizza ordering app using pip:
pip install pizza-ordering-app
๐ฎ Usage
After installation, start the app by running:
pizza-app
๐ง If Command Not Found
If you get command not found: pizza-app, try this:
# macOS/Linux - find your Python user bin directory
python -c "import site; print(site.USER_BASE + '/bin')"
# Then run: [that_path]/pizza-app
# For me it was: /Users/m24-009/Library/Python/3.9/bin/pizza-app
The app will automatically:
- Create a
.pizza_appdirectory in your home folder for storing data - Copy all necessary assets (images, database files) to this directory
- Initialize the database with sample menu items
- Launch the beautiful KivyMD application
๐ Getting Started
For Customers:
- Register a new account or login with existing credentials
- Browse the pizza menu with detailed descriptions and prices
- Add items to your cart and customize sizes/quantities
- Checkout securely and receive a unique ticket number
- Track your order status
For Administrators:
- Login with admin credentials (default:
admin/secure_password) - Access the admin panel via tapping the location button (hidden for security reasons)
- View and manage all customer orders
- Update order status from "Awaiting" to "Done"
- Add new menu items, via scrolling all the way down in the menu ,with custom descriptions and prices
๐ System Requirements
- Python: 3.7 or higher
- Operating System: Windows, macOS, or Linux
- Dependencies: Automatically installed with the package
- KivyMD 1.2.0+
- Kivy 2.2.0+
- Passlib 1.7.4+
๐๏ธ Development
If you want to modify or contribute to the app:
-
Clone the repository:
git clone https://github.com/al1kss/pizza-app.git cd pizza-app
-
Install in development mode:
pip install -e .
-
Make your changes and test:
pizza-app
๐๏ธ Project Structure
pizza_app/
โโโ main.py # Main application logic and screens
โโโ cli.py # Command line entry point
โโโ pizza.kv # KivyMD layout and styling
โโโ secure_password.py # Password encryption utilities
โโโ my_lib.py # Database management class
โโโ assets/
โโโ images/ # App images and icons
โโโ databases/ # Database schema files
๐ฏ Key Features Breakdown
๐ Shopping Experience
- Dynamic Menu Loading: Menu items loaded from database with real-time updates
- Cart Management: Add, remove, modify quantities and sizes
- Size Options: Multiple pizza sizes (Small, Medium, Large)
- Price Calculation: Real-time total calculation with tax
๐จโ๐ผ Admin Features
- Order Management: View all orders sorted by newest first
- Status Updates: Change order status with dropdown menus
- Menu Management: Add new pizza items with custom pricing
- User Management: Handle user authentication and permissions
๐ง Technical Features
- SQLite Integration: Lightweight database for local storage
- Password Security: Industry-standard PBKDF2 SHA256 encryption
- Path Handling: Smart file path resolution for cross-platform compatibility
- Asset Management: Automatic copying and organization of app resources
๐ ๏ธ Troubleshooting
App won't start?
pip install --upgrade kivymd kivy passlib
pizza-app
Database issues?
The app automatically creates fresh databases on first run. If you encounter issues, delete the ~/.pizza_app folder and restart.
Missing dependencies?
pip install --upgrade pizza-ordering-app
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐จโ๐ป Author
Alikhan Abdykaimov
- Email: 2026.alikhan.abdykaimov@uwcisak.jp
- GitHub: @al1kss
- Project: pizza-app
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
๐ Issues & Support
If you encounter any issues or have questions:
- Check the GitHub Issues page
- Create a new issue with detailed description
- Include your Python version and operating system
๐ Acknowledgments
- Built with KivyMD - Material Design components for Kivy
- Uses Kivy framework for cross-platform GUI development
- Password security powered by Passlib
Made with โค๏ธ and ๐ by Alikhan Abdykaimov application built with KivyMD. This app features a modern interface for browsing pizza menus, managing orders, and handling user authentication. Readme Generated with the help of AI. Thank you!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pizza_ordering_app-1.0.6.tar.gz.
File metadata
- Download URL: pizza_ordering_app-1.0.6.tar.gz
- Upload date:
- Size: 14.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f625e6e0be2a1bbf35108d2b9eff5f5e162159131e88759fd1fd162319b6d594
|
|
| MD5 |
6d7dfe84b052f96cb5c7cc3443b586e5
|
|
| BLAKE2b-256 |
0b963b25bb4154524f3bacd1c0fd7a12d5bb7a6321aaf67c28abf4b41e1344bb
|
File details
Details for the file pizza_ordering_app-1.0.6-py3-none-any.whl.
File metadata
- Download URL: pizza_ordering_app-1.0.6-py3-none-any.whl
- Upload date:
- Size: 14.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ecb9939b740b777ba3e8dcba2f0df7ac6c4d91365bfe4ca2c1c2b1b45f6fbde
|
|
| MD5 |
fd964d55e47d2fe38a0d4f6f6b756aaf
|
|
| BLAKE2b-256 |
2b74ae6bea5f3c1de7459ba54df76d10e97fdd43317abb43c5c7746e93c7f6aa
|