A simple Java console application that simulates an airline ticket booking system. The project supports two user roles — Admin and Client — and allows users to book and manage flight tickets through a text-based interface.
-
Admin capabilities:
- name = root, password = root
- Generate a flight schedule (database).
- View all users.
- Create and delete client accounts.
- Book or cancel flights for any user.
-
Client capabilities:
- Name is uniq
- View available flights.
- Book or cancel flights for themselves.
The project follows the Model-View-Controller (MVC) pattern:
- Model – Handles business logic and data structures (users, flights, tickets).
- View – Manages console input/output.
- Controller – Manages interactions between users and the system logic.
- The project uses file-based storage to persist user and flight data.
- Data is saved in *.dat files, simulating a lightweight database.
- The application includes logging functionality to text file to track actions and system events.
- Log messages help with debugging and monitoring application behavior.
JavaBasicStepBooking/
├── src/
│ ├── Main.java
│ ├── controllers/
│ ├── dao/
│ ├── exceptions/
│ ├── loger/
│ ├── models/
│ ├── views/
│ └── utils/
├── .gitignore
└── README.md
- Java Development Kit (JDK) version 17 or higher
- Terminal or command-line interface
- Clone the repository:
git clone https://github.com/vpodhornyi/JavaBasicStepBooking.git
cd JavaBasicStepBooking/src2 Compile the source files:
javac *.java3 Run the application:
java Main