The Automated Coffee Shop Management System is a Java-based console application designed to streamline the management of a coffee shop. This system caters to two main users: the Admin (Shop Owner) and Customers, offering functionalities to automate routine operations while ensuring data persistence through file handling.
-
Login Authentication
Admins must enter a valid password to access the system. -
Menu Management
- Add, update, or delete menu items.
- Update item prices and stock.
- View the current menu.
-
Sales Report Management
- View and review sales reports generated from customer orders.
- Clear sales reports.
- Access and analyze customer information.
-
Stock Management
Automatically updates stock levels based on customer orders.
-
View Menu
Customers can browse available menu items and their prices. -
Place Orders
Customers can select items, specify quantities, and place their orders. -
Payment Options
- Supports both card and cash payments.
- Calculates change for cash transactions.
-
Order History
- Order details are saved for future reporting.
- Customer information is stored for analysis and reporting.
This system utilizes file handling for data storage and retrieval, ensuring reliability across sessions:
menu.txt: Stores menu details (item name, price, and stock levels).order.txt: Records customer orders for sales reports and tracking.customer.txt: Stores customer information.
Manages the navigation between admin and customer functionalities.
A superclass for both Admin and Customer, storing common attributes like name.
Inherits from Person and includes methods for:
- Managing the menu.
- Reviewing customer orders and information.
- Analyzing sales reports.
Inherits from Person and includes methods for:
- Viewing the menu.
- Placing orders.
Handles menu operations:
- Displays, adds, updates, and deletes menu items.
- Updates prices and stock.
- Saves and retrieves menu details from
menu.txt.
Stores details about individual items, such as:
- Name
- Price
- Stock level
Processes customer orders:
- Handles order creation.
- Updates stock levels.
- Calculates payment totals and processes payments.
Stores and displays shop information like name, address, and contact details.
- Menu management (add/update/delete items, adjust stock, and prices).
- View and clear sales reports.
- Analyze customer orders and information.
- View the menu and place orders.
- Make payments via cash or card.
- Save order history and customer information for future reference.
- Clone the repository:
git clone https://github.com/your-username/automated-coffee-shop.git
- Open the project in your preferred Java IDE (e.g., IntelliJ, Eclipse).
- Compile and run the
Mainclass to start the system. - Follow the console prompts to navigate as an admin or customer.
- Introduce a graphical user interface (GUI) for better usability.
- Add support for discount codes and loyalty programs.
- Integrate with a database for scalable data management.
- Make the system more efficient
Contributions are welcome! To contribute:
- Fork this repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature" - Push to your branch and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
Developed with ❤️ to automate coffee shop operations and ensure efficiency.