This project is a FastAPI-based web application designed to simulate a KFC restaurant's management system. The application handles products, inventory, orders, and authentication, ensuring a realistic and efficient management experience. It utilizes JSON data handling and includes comprehensive input validation and logging.
Welcome to the KFC Management System! This project aims to provide a robust and flexible system for managing products, inventory, and orders in a simulated KFC restaurant environment. The application is designed for ease of use and modularity, ensuring it can be easily extended and maintained.
- Manages products with detailed information including price, components, and discounts.
- Handles inventory updates and checks for product availability based on component stock.
- Processes customer orders and calculates applicable discounts.
- Utilizes JSON for flexible data handling.
- Ensures correct user inputs with comprehensive validation.
- Implements authentication to secure endpoints.
- Provides RESTful API endpoints for integration and scalability.
Before running the application, ensure you have the following installed:
- Python 3.x
- FastAPI
- Uvicorn
- Pydantic
Clone the repository:
git clone https://github.com/AHSANooo/KFC-Management-API.git
cd kfc-management-systempip install -r requirements.txtEnsure your data files are correctly placed in the config directory.
Run the application:
uvicorn main:app --reloadAccess the application at:
http://127.0.0.1:8000.The application provides API endpoints for managing products, inventory, and orders. Use a tool like Postman or cURL to interact with the API.
The application is designed with modularity in mind, allowing easy extension and maintenance. It uses a service locator pattern for flexible and scalable management of data adapters and other services. Comprehensive logging and validation ensure a smooth and error-free user experience.
Feel free to explore and modify the code to suit your specific needs!
Feel free to customize the repository URL and any other details specific to your project.