A modern web application for booking flights, choosing seats, and making secure payments.
Roam is a web-based flight ticket booking system designed to provide a seamless and enhanced user experience for travelers. With Roam, users can:
- Search and browse available flights.
- Select and reserve seats.
- Make secure payments.
- Perform end-to-end flight booking with ease.
Built with modular architecture, the application is divided into backend, frontend, and end-to-end testing components for optimal scalability and maintainability.
- Search Flights: Browse flights by origin, destination, date, and time.
- Seat Selection: View seat maps and reserve your preferred seat.
- Secure Payments: Integrated payment gateway for fast and safe transactions.
- End-to-End Testing: Comprehensive testing suite for high reliability.
- Modern User Experience: Intuitive and responsive design for ease of use.
The project follows a modular directory structure for efficient development and testing:
ROAM-TRAVEL-BOOKING/
├── documentation/ # Project documentation
├── roam-backend/ # Backend API (Flask)
├── roam-end2end-tests/ # End-to-End Testing Suite
├── roam-frontend/ # Frontend Application (React/Next.js)
└── docker-compose.yml # Docker configuration
-
Install Docker:
- Follow the official Docker installation guide.
-
Build and Run Containers:
- Build the Docker images:
docker compose build
- Start the containers:
docker compose up -d
- Verify running containers:
docker ps
- Build the Docker images:
-
Access the App:
- Open your browser and navigate to
http://localhost:3000
.
- Open your browser and navigate to
-
Navigate to Frontend Directory:
cd roam-frontend
-
Install Dependencies:
npm install
-
Start the Development Server:
npm run dev
-
Access the Frontend:
- Open your browser and go to
http://localhost:3000
.
- Open your browser and go to
-
Navigate to Backend Directory:
cd roam-backend
-
Set Up Virtual Environment:
python -m venv venv source venv/bin/activate # macOS/Linux .\venv\Scripts\activate # Windows
-
Install Dependencies:
pip install -r requirements.txt
-
Run the Backend:
python run.py
-
Access the Backend:
- By default, the backend will be available at
http://127.0.0.1:5000
.
- By default, the backend will be available at
-
Navigate to Test Suite Directory:
cd roam-end2end-tests
-
Set Up Virtual Environment:
python -m venv venv source venv/bin/activate # macOS/Linux .\venv\Scripts\activate # Windows
-
Install Dependencies:
pip install -r requirements.txt
-
Run Tests:
pytest -n auto -v tests
-
Navigate to Frontend Directory:
cd roam-frontend
-
Run Tests:
npm test
-
View Code Coverage:
npm run coverage
-
Navigate to Backend Directory:
cd roam-backend
-
Run Tests:
pytest
- Frameworks: React, Flask, Docker
- Contributors: Group 34 Team
- Course: CISC 327 - Software Quality Assurance Fall 2024