Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dotnetbackendtraining/airport-ticket-booking-system
.NET console application for an airport ticket booking system
https://github.com/dotnetbackendtraining/airport-ticket-booking-system
csharp csv custom-database domain-driven-design file-data-storage unit-testing
Last synced: 1 day ago
JSON representation
.NET console application for an airport ticket booking system
- Host: GitHub
- URL: https://github.com/dotnetbackendtraining/airport-ticket-booking-system
- Owner: DotNetBackendTraining
- Created: 2024-03-02T14:09:29.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-04-22T10:54:49.000Z (7 months ago)
- Last Synced: 2024-04-26T22:25:33.337Z (7 months ago)
- Topics: csharp, csv, custom-database, domain-driven-design, file-data-storage, unit-testing
- Language: C#
- Homepage:
- Size: 708 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **Airport Ticket Booking System**
[![.NET](https://github.com/izzat5233/airport-ticket-booking-system/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/izzat5233/airport-ticket-booking-system/actions/workflows/build-and-test.yml)
## **Objective:**
Develop a .NET console application for an airport ticket booking system. This application should enable passengers to
book flight tickets and allow a manager to manage the bookings.## **Data Storage:**
- Use the file system as the data storage layer.
## **For the Passenger:**
### Features:
1. **Book a Flight:**
- Select a flight based on various search parameters.
- Choose a class for the flight (Economy, Business, First Class). Prices should vary according to the class
selected.
2. **Search for Available Flights:**
- Parameters:
- Price
- Departure Country
- Destination Country
- Departure Date
- Departure Airport
- Arrival Airport
- Class
3. **Manage Bookings:**
- Cancel a booking
- Modify a booking
- View personal bookings## **For the Manager:**
### Features:
1. **Filter Bookings:**
- Parameters:
- Flight
- Price
- Departure Country
- Destination Country
- Departure Date
- Departure Airport
- Arrival Airport
- Passenger
- Class
2. **Batch Flight Upload:**
- Import a list of flights into the system using a CSV file.
3. **Validate Imported Flight Data:**
- Apply model-level validations to the imported file data.
- Return a detailed list of errors to help the manager identify and rectify issues in the imported file.
4. **Dynamic Model Validation Details:**
- Provide dynamically generated details about the validation constraints for each field of the flight data model.
- Example Result:
- *Departure Country:*
- Type: Free Text
- Constraint: Required
- *Departure Date:*
- Type: Date Time
- Constraint: Required, Allowed Range (today → future)## **Notes:**
- Ensure the application is well-structured, readable, and maintainable.
- Apply best practices and conventions of C# programming.## **Estimated Time:**
- 3 days