Repository containing the files, hopes and sweet dreams of the Flight Search Manager Project ;)
The project consists of a flight search manager that has various features, from being able to receive airports names and IATA codes, returning results, as well as showing details of said results.
Backend:
- Spring Boot
- Gradle
- Java
Frontend:
- TypeScript
- React
API Integration:
- Amadeus REST API
- Airport and City Search API (Airport codes)
- Airline Code Lookup API (Airline details)
- Flight Offers Search (Flight options)
Docker (Open platform for developing, shipping, and running applications)
Download and Installation of:
Backend Setup:
- Clone the repository:
git clone https://github.com/Francisco-G-P/FlightSearch-Manager.git
cd FlightSearch-Manager/backend
- Create Amadeus account and add your Amadeus API credentials in:
FlightSearch-Manager/backend/src/main/resources/application.properties
amadeus.apiKey=YOUR_API_KEY
amadeus.apiSecret=YOUR_API_SECRET
- Build and run the backend:
./gradlew bootRun
- The backend will run on:
http://localhost:8080
Frontend Setup:
- Navigate to the frontend directory:
cd ../frontend
- Install dependencies:
npm install
- Start the development server:
npm run dev
- The frontend will run on:
http://localhost:5173
Docker Setup:
-
Running Docker Images:
- Backend (/backend):
docker run -p 8080:8080 flight-search-backend
- Frontend (/frontend):
docker run -p 5173:80 flight-search-frontend
- Backend (/backend):
-
Running Docker Compose (/FlightSearch-Manager):
docker-compose up --build
To check access to backend and frontend, respectively, try:
http://localhost:8080/api/airports?query=new
- Should return a JSON with "new" search related data
http://localhost/5173/
- Should show main page (Search Page)
- Search Page: Enter flight details (origin, destination, date, etc.) and click "Search Flights!
✈️ " - Results Page: View flight options available and click "View Details! 📋"
- Details Page: View detailed information about selected flight
If you want to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit:
git commit -m 'Add feature'
- Push to your branch:
git push origin feature-name
- Open a Pull Request
For any inquiries, reach out via email at [email protected]