/FlightApp

A Spring Boot backend API for a basic Flight Management System that designed to streamline the process of managing flight data.

Primary LanguageJavaMIT LicenseMIT

A Spring Boot backend API for a basic Flight Management System that designed to streamline the process of managing flight data.

Roles

  1. Admin
    • Can add, delete and update flights and airports
    • Manage user' account activation
    • Can search flights and available airports
  2. User
    • Can search flights and available airports

Properties

  1. Basic CRUD operations for flight and airport objects.
  2. Search API to filter flight data that enables advanced flight search capabilities based on various criteria such as departure place, destination place, departure and return dates.
  3. Authentication using JWT.
  4. Scheduled background jobs to update the flights database daily.
  5. Swagger Documentation.
  6. Integrated with PostgreSQL for robust data storage.

Database Design

Database Entity-Relationship Diagram with users, flights and airports tables.

Screenshots

CRUD

Fligt Get & Update

Get by code.

Update Flight

Get updated flight

User Get & Update

Post Airports & Flights

Post airport.

Post flight.

Airport Get, Update & Delete

Flight Update & Delete

Get Flight

Delete Flight

Deleted Flight

Register & Login

Admin Login

User Register.

List of all users.

Search API

Search request example - 1.

Search request example - 2.

Get by code - 2.

Search above flight.

Scheduled Job

Note

To quickly test the scheduled jobs without waiting for daily execution, I configured the schedule to run every five minutes using the @Scheduled(fixedRate = 300000, initialDelay = 30000) annotation.

Scheduled job test passed screenshot.

YouTube video link

Swagger Documentation

usercontreoller

flightcontroller

airportcontroller

schemas

End.