Flybooker is a web application built on the MERN (MongoDB, Express, React, Node.js) stack, secured with Keycloak. It allows users to book flights and manage flight listings. After logging in as a regular user, you can access the flight list, while admins have additional privileges such as deleting flights. The project includes a Docker Compose configuration for running Keycloak and MongoDB. Follow the instructions below to get started with Flybooker.
Flybooker is built using the following technologies:
- MongoDB
- Express
- React
- Node.js
- JavaScript
- Keycloak
To start the Flybooker application, follow these steps:
-
Run the following command to start Keycloak and MongoDB using Docker Compose:
docker-compose up
-
After the containers are up and running, execute the script.sh script to start the frontend and backend:
./script.sh
This script installs the necessary dependencies and starts the frontend and backend servers.
-
Access the Flybooker application by opening your web browser and navigating to http://localhost:3000.
Use the following credentials to log in:
Regular User:
- Username: myuser
- Password: myuser
Admin:
- Username: myadmin
- Password: myadmin
Upon logging in as a regular user, you gain access to a flight listing section. Browse through a curated selection of example flights and view their details.
As an admin, you have additional privileges. In addition to accessing the user flight listing, you can also navigate to the admin section. Explore a broader range of flights and enjoy the ability to delete unwanted flights from the database.
Flybooker is licensed under the MIT License. See the LICENSE file for more information.