Table of Contents
Flight Search Api developed for Amadeus Travel to Future Program.
A relational Database is used in this project. Postgresql is the selected database. Before starting the application, first run the docker-compose.yml to start database server on docker container.
DATABASE CREDENTIALS:
Username: admin
Password: admin
Navigate to http://localhost:5050/browser/ to access PG_ADMIN
PG_ADMIN CREDENTIALS
Username: [email protected]
Password: admin
MapStruct is used to map DTOs to entities and nice versa.
Lombok is used for removing boiler-plate code
Exception Handling is done
Auditing information is avaliable in entities.
QueryDsl is used for extended search on flights integrated with JPA repository
System security is done via JWT Bearer tokens. Before doing any operation, user should obtain an token like following: After that, pass this token with 'Bearer ' prefix to Authorization header on each request. Role based authantication is provided but all the api urls are accessible by any role. You can change it from security config and api urls if needed.
- java 17+
- docker
Clone the repository
git clone https://github.com/numankaf/amadeus-flight-api.git
For backend:
-
Go to Directory
cd flightsearchapi
-
Run Docker Containers
docker-compose up -d
-
Install Dependicies
mvn clean install
-
Run the application
mvn spring-boot:run
Navigate to http://localhost:8080/swagger-ui/index.html to see the Swagger docs.
Distributed under the Apache-2.0 License. See LICENSE.txt
for more information.
Numan Kafadar - [email protected]
Project Link: https://github.com/numankaf/ICESHU4