This project serves as the backend API for a social trip planning website. It consists of two primary components: the Client and the Orchestrator. The Orchestrator handles user registration, login processes, and trip proposal functionalities, while the Client interacts with the Orchestrator to provide a seamless user experience.
- Programming Language: Python
- Web Framework: Flask
- Database: TinyDB
- External Services:
- RandomIdService
- WeatherForecastService
- Deployment: Gunicorn
- Frontend:
- HTML/CSS/JavaScript
- jQuery for AJAX requests
- User registration and login functionalities.
- Trip proposal and planning features.
- Real-time weather information integration.
- Express interest in proposed trips.
- Scalable and modular architecture for future enhancements.
-
Install Dependencies:
-
Windows:
pip install -r orchestrator_service/requirements.txt
-
Mac:
pip3 install -r orchestrator_service/requirements.txt
-
-
Start Orchestrator Server:
-
Navigate to the Orchestrator package directory in the terminal.
-
Windows:
cd orchestrator_service gunicorn -w 4 -b 0.0.0.0:8000 orchestrator_service:app
-
Mac:
cd orchestrator_service gunicorn -w 4 -b 0.0.0.0:8000 orchestrator_service:app
Adjust the
-w
(workers) and-b
(bind) parameters as needed. -
-
Install Dependencies:
-
Windows:
pip install -r client/requirements.txt
-
Mac:
pip3 install -r client/requirements.txt
-
-
Run Client Application:
-
Windows:
python client/app.py
-
Mac:
python3 client/app.py
-
-
Change Client Port (Optional):
- Open
client/app.py
and locate the line:app.run(debug=False, port=8080)
- Change the
port
parameter to the desired port number.
- Open
-
Access the Application:
Open your web browser and navigate to the specified port to use the application.