At our university there is a special assessment that we shall pass before we can start an internship. The assessment last around two (2) to three (3) days during which students are given a project to work on. Students are free to choose whatever technology stack suits best to them, the only constraint is that it shall be a web technology stack. The assessment's goal is to check students'knowledge and skills if they are able to start tackling real world projects. Besides, it helps students to gain confidence with their capabilities. Indeed students tackle every part of the project, from the user interface development to the database design. Students are also required to provide a to-do list so that:
- they have an estimate for the project
- they know the actual hours they worked on it and
- they can keep track of their progress
Hope you can find something for you here. Enjoy.
This project is a simple flight booking system. Our teacher gave us this project to prepare us for the real assessment. Customer can search for a flight based on its criteria and choose the flights that best suits them. The administrator user can see an interface where information about the flights are displayed.
- Java
- A general-purpose programming language. A popular object oriented language amoung big companies. Object oriented is a very important concept for our source code to be more maintainable and readable.
- Spring Boot Framework
- This is a powerful framework developed with Java that let us build industrial-grade software. It allows software developers to delegate many repetitive and daunting tasks to the framework and thus focus more on the most critical and important parts of a project.
- Thymeleaf
- A popular template engine that works seamlessly with Spring Framework. It offers a wide range of useful tags.
- PostgreSQL
- A robust relational database management. There is no specific reason to why choosing this for this particular project but to get used to working with it.
- JavaScript:
- It is a programming language that we can rarely avoid as a web developer.
- Clone this repository
- Change PostgreSQL credentials in ** ConnGen ** class
- Executes the script in a PostgreSQL Database
- Open a command line and executes the following command inside this repository: ** mvnw spring-boot:run **
"Quick start a project by designing its UI first"
Here are the most important user interfaces of this project.
-
Flights Search: It is the main page of this project. Here customer can look for available flights for specific dates and towns.
-
Choosing desired flights: Here the customer can choose one flight among the one-way flights and another one among the return flights. The customer can also see the total price of the flights.
-
Passenger details: When customer clicks on the booking button, he needs to fill all passenger details
-
Buyer details: This form is filled with the one who is gonna buy the tickets
-
Booking success: We show a message to the customer that the booking was successful and display the booking code for the payments.
-
Payment: Here the customer can proceed to the payment
-
Tickets: After the payment, the customer can get their tickets
-
Flights informations
"Simplify your life as a developer by spending more time designing your database"
As much as we can, we should put effort to design the database to avoid unnecessary lengthy code at the application layer of our software.
- To-do list: /docs/compagnie_aerienne.ods (in French)