pizza-ordering-app


Namepizza-ordering-app JSON
Version 1.0.6 PyPI version JSON
download
home_pagehttps://github.com/al1kss/pizza-app
SummaryA beautiful pizza ordering application built with KivyMD
upload_time2025-07-09 15:30:11
maintainerNone
docs_urlNone
authorAlikhan Abdykaimov
requires_python>=3.7
licenseMIT
keywords kivymd pizza ordering app restaurant gui mobile
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🍕 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!!)

![Python](https://img.shields.io/badge/python-v3.7+-blue.svg)
![KivyMD](https://img.shields.io/badge/kivymd-v1.2.0+-orange.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)

## ✨ 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:

```bash
pip install pizza-ordering-app
```

## 🎮 Usage

After installation, start the app by running:

```bash
pizza-app
```

### 🔧 If Command Not Found

If you get `command not found: pizza-app`, try this:

```bash
# 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:
1. Create a `.pizza_app` directory in your home folder for storing data
2. Copy all necessary assets (images, database files) to this directory
3. Initialize the database with sample menu items
4. Launch the beautiful KivyMD application

## 🔐 Getting Started

### For Customers:
1. **Register** a new account or **login** with existing credentials
2. **Browse** the pizza menu with detailed descriptions and prices
3. **Add items** to your cart and customize sizes/quantities
4. **Checkout** securely and receive a unique ticket number
5. **Track** your order status

### For Administrators:
1. Login with admin credentials (default: `admin`/`secure_password`)
2. Access the **admin panel** via tapping the location button (hidden for security reasons)
3. **View and manage** all customer orders
4. **Update order status** from "Awaiting" to "Done"
5. **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:

1. Clone the repository:
   ```bash
   git clone https://github.com/al1kss/pizza-app.git
   cd pizza-app
   ```

2. Install in development mode:
   ```bash
   pip install -e .
   ```

3. Make your changes and test:
   ```bash
   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?
```bash
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?
```bash
pip install --upgrade pizza-ordering-app
```

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 👨‍💻 Author

**Alikhan Abdykaimov**
- Email: 2026.alikhan.abdykaimov@uwcisak.jp
- GitHub: [@al1kss](https://github.com/al1kss)
- Project: [pizza-app](https://github.com/al1kss/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:
1. Check the [GitHub Issues](https://github.com/al1kss/pizza-app/issues) page
2. Create a new issue with detailed description
3. Include your Python version and operating system

## 🙏 Acknowledgments

- Built with [KivyMD](https://kivymd.readthedocs.io/) - Material Design components for Kivy
- Uses [Kivy](https://kivy.org/) framework for cross-platform GUI development
- Password security powered by [Passlib](https://passlib.readthedocs.io/)

---

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!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/al1kss/pizza-app",
    "name": "pizza-ordering-app",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "kivymd, pizza, ordering, app, restaurant, gui, mobile",
    "author": "Alikhan Abdykaimov",
    "author_email": "Alikhan Abdykaimov <2026.alikhan.abdykaimov@uwcisak.jp>",
    "download_url": "https://files.pythonhosted.org/packages/0b/96/3b25bb4154524f3bacd1c0fd7a12d5bb7a6321aaf67c28abf4b41e1344bb/pizza_ordering_app-1.0.6.tar.gz",
    "platform": null,
    "description": "# \ud83c\udf55 Pizza Ordering App\n\nA 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!!)\n\n![Python](https://img.shields.io/badge/python-v3.7+-blue.svg)\n![KivyMD](https://img.shields.io/badge/kivymd-v1.2.0+-orange.svg)\n![License](https://img.shields.io/badge/license-MIT-green.svg)\n\n## \u2728 Features\n\n- \ud83c\udfa8 **Material Design Interface** - Beautiful, modern UI\n- \ud83d\udc64 **User Authentication** - Secure login/registration system with encrypted password storage\n- \ud83c\udf55 **Interactive Pizza Menu** - Browse through various pizza options with detailed descriptions and prices\n- \ud83d\uded2 **Smart Shopping Cart** - Add items to cart, modify quantities, change sizes, and manage orders\n- \ud83d\udcf1 **Responsive Design** - Optimized for mobile and desktop viewing with touch-friendly controls\n- \ud83d\udc51 **Admin Panel** - Admin users can manage orders, update status, and add new menu items\n- \ud83c\udfab **Order Tracking** - Get unique ticket numbers and track order status (Awaiting/Done)\n- \ud83d\udcbe **Local Database** - SQLite-based storage for users, menu items, and orders\n- \ud83d\udd12 **Secure Passwords** - SHA256 encryption for user password protection\n\n## \ud83d\ude80 Installation\n\nInstall the pizza ordering app using pip:\n\n```bash\npip install pizza-ordering-app\n```\n\n## \ud83c\udfae Usage\n\nAfter installation, start the app by running:\n\n```bash\npizza-app\n```\n\n### \ud83d\udd27 If Command Not Found\n\nIf you get `command not found: pizza-app`, try this:\n\n```bash\n# macOS/Linux - find your Python user bin directory\npython -c \"import site; print(site.USER_BASE + '/bin')\"\n# Then run: [that_path]/pizza-app\n# For me it was: /Users/m24-009/Library/Python/3.9/bin/pizza-app\n```\n\nThe app will automatically:\n1. Create a `.pizza_app` directory in your home folder for storing data\n2. Copy all necessary assets (images, database files) to this directory\n3. Initialize the database with sample menu items\n4. Launch the beautiful KivyMD application\n\n## \ud83d\udd10 Getting Started\n\n### For Customers:\n1. **Register** a new account or **login** with existing credentials\n2. **Browse** the pizza menu with detailed descriptions and prices\n3. **Add items** to your cart and customize sizes/quantities\n4. **Checkout** securely and receive a unique ticket number\n5. **Track** your order status\n\n### For Administrators:\n1. Login with admin credentials (default: `admin`/`secure_password`)\n2. Access the **admin panel** via tapping the location button (hidden for security reasons)\n3. **View and manage** all customer orders\n4. **Update order status** from \"Awaiting\" to \"Done\"\n5. **Add new menu items**, via scrolling all the way down in the menu ,with custom descriptions and prices\n\n## \ud83d\udccb System Requirements\n\n- **Python**: 3.7 or higher\n- **Operating System**: Windows, macOS, or Linux\n- **Dependencies**: Automatically installed with the package\n  - KivyMD 1.2.0+\n  - Kivy 2.2.0+\n  - Passlib 1.7.4+\n\n## \ud83c\udfd7\ufe0f Development\n\nIf you want to modify or contribute to the app:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/al1kss/pizza-app.git\n   cd pizza-app\n   ```\n\n2. Install in development mode:\n   ```bash\n   pip install -e .\n   ```\n\n3. Make your changes and test:\n   ```bash\n   pizza-app\n   ```\n\n## \ud83d\uddc2\ufe0f Project Structure\n\n```\npizza_app/\n\u251c\u2500\u2500 main.py              # Main application logic and screens\n\u251c\u2500\u2500 cli.py               # Command line entry point\n\u251c\u2500\u2500 pizza.kv             # KivyMD layout and styling\n\u251c\u2500\u2500 secure_password.py   # Password encryption utilities\n\u251c\u2500\u2500 my_lib.py           # Database management class\n\u2514\u2500\u2500 assets/\n    \u251c\u2500\u2500 images/         # App images and icons\n    \u2514\u2500\u2500 databases/      # Database schema files\n```\n\n## \ud83c\udfaf Key Features Breakdown\n\n### \ud83d\uded2 Shopping Experience\n- **Dynamic Menu Loading**: Menu items loaded from database with real-time updates\n- **Cart Management**: Add, remove, modify quantities and sizes\n- **Size Options**: Multiple pizza sizes (Small, Medium, Large)\n- **Price Calculation**: Real-time total calculation with tax\n\n### \ud83d\udc68\u200d\ud83d\udcbc Admin Features\n- **Order Management**: View all orders sorted by newest first\n- **Status Updates**: Change order status with dropdown menus\n- **Menu Management**: Add new pizza items with custom pricing\n- **User Management**: Handle user authentication and permissions\n\n### \ud83d\udd27 Technical Features\n- **SQLite Integration**: Lightweight database for local storage\n- **Password Security**: Industry-standard PBKDF2 SHA256 encryption\n- **Path Handling**: Smart file path resolution for cross-platform compatibility\n- **Asset Management**: Automatic copying and organization of app resources\n\n\n## \ud83d\udee0\ufe0f Troubleshooting\n\n### App won't start?\n```bash\npip install --upgrade kivymd kivy passlib\npizza-app\n```\n\n### Database issues?\nThe app automatically creates fresh databases on first run. If you encounter issues, delete the `~/.pizza_app` folder and restart.\n\n### Missing dependencies?\n```bash\npip install --upgrade pizza-ordering-app\n```\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\udc68\u200d\ud83d\udcbb Author\n\n**Alikhan Abdykaimov**\n- Email: 2026.alikhan.abdykaimov@uwcisak.jp\n- GitHub: [@al1kss](https://github.com/al1kss)\n- Project: [pizza-app](https://github.com/al1kss/pizza-app)\n\n## \ud83e\udd1d Contributing\n\nContributions 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.\n\n## \ud83d\udc1b Issues & Support\n\nIf you encounter any issues or have questions:\n1. Check the [GitHub Issues](https://github.com/al1kss/pizza-app/issues) page\n2. Create a new issue with detailed description\n3. Include your Python version and operating system\n\n## \ud83d\ude4f Acknowledgments\n\n- Built with [KivyMD](https://kivymd.readthedocs.io/) - Material Design components for Kivy\n- Uses [Kivy](https://kivy.org/) framework for cross-platform GUI development\n- Password security powered by [Passlib](https://passlib.readthedocs.io/)\n\n---\n\nMade with \u2764\ufe0f and \ud83c\udf55 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!\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A beautiful pizza ordering application built with KivyMD",
    "version": "1.0.6",
    "project_urls": {
        "Bug Reports": "https://github.com/al1kss/pizza-app/issues",
        "Homepage": "https://github.com/al1kss/pizza-app",
        "Source": "https://github.com/al1kss/pizza-app/"
    },
    "split_keywords": [
        "kivymd",
        " pizza",
        " ordering",
        " app",
        " restaurant",
        " gui",
        " mobile"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2b74ae6bea5f3c1de7459ba54df76d10e97fdd43317abb43c5c7746e93c7f6aa",
                "md5": "fd964d55e47d2fe38a0d4f6f6b756aaf",
                "sha256": "3ecb9939b740b777ba3e8dcba2f0df7ac6c4d91365bfe4ca2c1c2b1b45f6fbde"
            },
            "downloads": -1,
            "filename": "pizza_ordering_app-1.0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fd964d55e47d2fe38a0d4f6f6b756aaf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 14044527,
            "upload_time": "2025-07-09T15:30:07",
            "upload_time_iso_8601": "2025-07-09T15:30:07.327097Z",
            "url": "https://files.pythonhosted.org/packages/2b/74/ae6bea5f3c1de7459ba54df76d10e97fdd43317abb43c5c7746e93c7f6aa/pizza_ordering_app-1.0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b963b25bb4154524f3bacd1c0fd7a12d5bb7a6321aaf67c28abf4b41e1344bb",
                "md5": "6d7dfe84b052f96cb5c7cc3443b586e5",
                "sha256": "f625e6e0be2a1bbf35108d2b9eff5f5e162159131e88759fd1fd162319b6d594"
            },
            "downloads": -1,
            "filename": "pizza_ordering_app-1.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "6d7dfe84b052f96cb5c7cc3443b586e5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 14046942,
            "upload_time": "2025-07-09T15:30:11",
            "upload_time_iso_8601": "2025-07-09T15:30:11.663063Z",
            "url": "https://files.pythonhosted.org/packages/0b/96/3b25bb4154524f3bacd1c0fd7a12d5bb7a6321aaf67c28abf4b41e1344bb/pizza_ordering_app-1.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 15:30:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "al1kss",
    "github_project": "pizza-app",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pizza-ordering-app"
}
        
Elapsed time: 0.43174s