Flight Booking
Flight Booking is a web application for managing airports and flights. Users can book flights using the mobile app.
- Each Admin or User is provided with an account for login purposes.
- There is a feature to recover a forgotten account by entering an email and sending a recovery email.
- Registering a new account will generate a verification code sent to the email. ##Admin
- Admins have the ability to view an overview of airport and flight information.
- Various statistics and data are presented through charts and graphs.
- Admins can view a list of flights.
- They can also access detailed information about each flight, including general information, ticket types, and the flight itinerary.
- Admins can add new flights to the system.
- They have the ability to delete flights.
- Admins can edit existing flight information.
- They can view the list of stopovers for a specific flight.
- Admins can add the quantity and price for each ticket type of a particular flight.
- They can search for flights by name.
- Admins can paginate the list of flights, displaying a limited number of flights per page for easier navigation and improved performance.
- Admins can filter flights by airline, departure location, and destination.
- Admins can view a list of airports.
- They can access detailed information about each airport, including general information, incoming and outgoing flights, and upcoming flights.
- Admins can display the list of airports sorted by name.
- They can paginate the airport list, displaying a limited number of airports per page.
- Admins have the ability to add new airports, with the option to utilize an API that supports Vietnamese provinces and cities to add destinations for flights.
- They can edit existing airport information.
- Admins can delete airports from the system. System will show dialog of all cofig flight. Admin should change to another airport of flight.
- Admins can view a list of customers.
- They have the ability to add new customers to the system.
- Admins can view detailed information about each customer, including general information and their most recent purchase invoice.
- They can display a list of invoices and flight information associated with each invoice.
- Admins can delete customers from the system.
- They can also edit customer information.
- Admins can view a list of flight tickets available for each flight.
- They can access the list of ticket types for each flight.
- The system supports both list view and grid view for displaying flight tickets.
- Admins can add new flight tickets to the system.
- They can view flight tickets in a seat map format, displaying the seating arrangement for each flight.
- Admins have the ability to book flight tickets.
- They can select the payment method for ticket bookings.
- Admins can view a list of invoices.
- They have the ability to edit invoices.
- Admins can access detailed information about each invoice.
- They can delete invoices from the system.
- Admins can process payments for invoices that are still outstanding.
- The system provides a chart to display revenue and sales data.
- Admins can edit their personal information.
- They have the ability to change their password.
- Admins can modify the system's rules and regulations.
- Users can view a list of flights.
- They can access a list of airports.
- Users have the ability to book flight tickets online.
- They can edit their credit card information.
- Users can add items to a wishlist or favorites list.
- Language: Dart, java
- Framework: Flutter
- Database: MySQl
- Backend: SpringBoot
- Nguyα» n Minh HΖ°ng: 20120491
- TrΖ°Ζ‘ng Huα»³nh Δα»©c HoΓ ng: 20120483
- Data: LΓͺ XuΓ’n Huy - 20120495
- Data and support backend: TrαΊ§n NhΓ’t NguyΓͺn - 20120340
https://github.com/nguyenminhhung2011/dream-ticket
- The project applies the clean architecture principles to implement the code.
lib/
|- data/
| |- repositories/ => providing data access
| |- models/ => representing data structures
| |- datasources/ => used to communicate with data sources such as a database or API
| |- local/
| |- remote/
|
|- domain/
| |- repositories/ => communicating with the data.repositories layer
| |- entities/ => representing objects within the application
| |- usecases/ => contains the implementation of the application's use cases
|
|- presentation_mobile/
|- presentation/
| |- screens/
| |- widgets/
| |- bloc/
| |- model_state.dart
| |- state.dart
| |- event.dart
| |- bloc.dart
|- app.dart
|- main.dart
|- configurations/
| |- env/
| |- env_prod.dart
final Map<String, dynamic> environmentProd = {
'name': 'Flight Booking',
'environment': 'prod',
'baseUrl': 'http://192.168.1.104:8080/',
'mode': 'mobile', // => change web for web version and change to mobile for mobile version
};
| |- configurations.dart
| |- defautl_config.dart
Page1 | Page2 | Page3 |
---|---|---|
Light1 | Dark1 | Light2 | Dark2 | Light3 | Dark3 |
---|---|---|---|---|---|