Project 1 -Airline Ticketing Kiosk App: Gautier Airlines
Description: Gautier Airlines is a flight booking service that allows users to book a flight to their dream destination. Book with us and we will fly you straight to your destination city with no pesky multi-stop flights! Not only that, you will be supporting your local airports, reducing your impact on the environment!
Minimum Requirements:
- Proper use of OOP principles
- Output is presented to user on a web page, and input is accepted from a web form
- CRUD operations are supported for one or more domain objects via the web application's API endpoints and invoked from the frontend
- Communication is done with JSON in HTTP request and response bodies.
- Abstract all JDBC away with Hibernate
- Documentation (all classes and methods have adequate Javadoc comments)
- All Exceptions are caught and logged to a file
Bonus Features:
- Webapp(backend) and UI(frontend) are served from AWS and are publically available
- DevOps CI/CD pipeline to build and deploy project
- 80%+ Unit test line coverage for service-layer methods(Test as much as possible, ask trainer if unsure)
- Advanced UI Framework (Angular or React)
User Stories:
- As a user, I can see all available flights from a city to a city.
- As a user, I can purchase one or more tickets on a flight.
- As a user, I can check in for my flight.
- As a user, I can cancel my ticket.
- As an administrator, I can schedule a new flight.
- As an administrator, I can cancel a flight.
- As an administrator, I can view a flight manifest (flight details + passenger list)
Bonus Stories:
- As an administrator, I can cancel a ticket on any flight.
- As an pilot, I can initiate takeoff of a flight. (No more new tickets or cancellations)
Tech Stack:
We employed the following technologies in our project.
- Java 8
- JavaScript
- HTML & CSS
- Apache Maven for dependencies and project management
- Git & Github for version control
- MariaDB deployed on AWS RDS for data persistence
- Hibernate to abstract away JDBC code
- AWS EC2, ElasticBeanstalk, S3, CodeBuild, CodePipeline