PizzeriaManager is a comprehensive system designed for managing pizzerias, aiming to support pizzeria owners and employees in efficiently managing various aspects of restaurant operations. The system offers functionalities for menu management, ingredient management, employee and customer management, and order tracking.
- Project Scope and Objectives
- System Responsibilities
- System Users
- User Requirements
- Functional Requirements
- Non-Functional Requirements
- System Features
- System Structure - Diagrams
- Glossary
- Installation
- License
The system is intended for the gastronomy industry, specifically for managing pizzerias. It supports owners and employees in effectively managing various aspects of the restaurant, including:
- Menu and Dish Management: Create, modify, and manage the pizzeria's menu, including adding new dishes such as pizza, gnocchi, and spaghetti.
- Ingredient Management: Manage ingredients used in dishes, track their availability, and plan purchases.
- Employee and Customer Management: Manage employee data, including their employment, shifts, and roles. Store customer data for personalized services and loyalty programs.
The system provides comprehensive support for managing pizzeria operations, focusing on:
- Menu Management: Create, edit, and delete menu items, assign ingredients to dishes.
- Employee Data Management: Manage employee data, including employment, shifts, and roles.
- Customer Data Management: Collect and store customer information.
- Order Management: Track and manage orders, from placement to fulfillment.
The system is designed for various user groups involved in pizzeria operations:
- Pizzeria Owners: Manage all aspects of the restaurant, including menu, ingredients, and employees.
- Pizzeria Employees: Perform duties such as taking and fulfilling orders, preparing dishes, and managing work schedules.
The system should store information about:
- Persons:
- Owner
- Customer
- Employee (Waiter, Chef)
- Dishes: Pizza, Gnocchi, Spaghetti
- Ingredients: Used in dishes
- Menu: Comprehensive details necessary for restaurant operations
- Add, edit, and delete dishes
- Browse the menu
- Manage ingredients
- Place and accept orders
- Track order status
- Manage employees and customers
- Backup data
- Ensure data security
- Security: Data access is restricted based on user roles.
- Reliability: Data recovery mechanisms in case of system failure.
- Scalability: Easily add new types of dishes, ingredients, and persons.
- Usability: Intuitive user interface with search and filter functions.
The PizzeriaManager system offers a wide range of features to facilitate the efficient management of a pizzeria. These include:
-
Menu Management:
- Add, edit, and delete dishes.
- Browse and search the menu.
- Assign ingredients to dishes.
-
Ingredient Management:
- Track ingredient availability.
- Plan and manage ingredient purchases.
-
Order Management:
- Place and track orders.
- Update order status.
- Manage order fulfillment.
-
Employee Management:
- Manage employee information and roles.
- Schedule employee shifts.
-
Customer Management:
- Store and manage customer data.
- Personalize customer service and loyalty programs.
-
Data Management:
- Backup and restore data.
- Ensure data security and integrity.
Use Case: | Add a new dish to the menu |
---|---|
Actors: | Owner |
Goal: | Owner wants to add a new dish to the pizzeria's menu |
Preconditions: | Owner is logged into the system |
Postconditions: | New dish is added to the menu and available for customers |
Main Steps: | Owner selects "Add new dish" option |
System displays form for new dish details | |
Owner enters details | |
System validates input | |
Owner confirms | |
System creates new dish object | |
System assigns ingredients to the dish | |
System adds dish to the menu | |
System displays success message | |
Alternate Steps: | Missing required data: System displays error message |
- Gastronomy Industry: Sector focused on food and beverage preparation and service.
- Pizzeria: Restaurant specializing in pizza.
- Menu: List of available dishes and beverages.
- Dish: Single menu item, e.g., pizza, gnocchi, spaghetti.
- Ingredient: Item used to prepare dishes, e.g., sausage, cheese, tomato sauce.
- Employee: Individual employed in the pizzeria, such as a waiter or chef.
- Customer: Person using pizzeria services.
- Owner: Person managing and owning the pizzeria.
- Unique Identifier: Each person and component must have a unique ID.
- Data Integrity: Each dish must have at least one ingredient; orders must be linked to a customer and waiter.
- System Performance: The system should handle up to 1000 orders per day without performance degradation.
To install and run the PizzeriaManager system, follow these steps:
- Clone the repository:
git clone https://github.com/PejperO/PizzeriaManager.git
- Navigate to the project directory:
cd PizzeriaManager
- Build the project using Maven:
./mvnw clean install
- Run the application:
./mvnw spring-boot:run
Make sure you have Java Development Kit (JDK) and Apache Maven installed on your machine. If not, you can download and install them from the following links:
This project is licensed under the GPL-3.0 License. See the LICENSE file for more details.