The purpose of this document is to provide a detailed specification for a command-line interface (CLI) application similar to Zomato. The application aims to provide functionality for customers to choose restaurants, browse dish, and place orders.
This application will support the following features:
The system is implemented as a simple CLI-based Java application. It includes various classes to represent Customers, Restaurants, Dishes, and Orders.
The project is structured into several packages:
controller
: Contains classes for handling user input and interactions.repository
: Manages data access and storage operations.service
: Implements business logic and services.model
: Defines data models used throughout the application.util
: Utility classes and helper methods.ui
: User interface components for displaying information to the user.exceptions
: Custom exception classes for handling errors.Data for customers, dish, and restaurants is stored in CSV format within the data
folder.