71 lines
2.1 KiB
Markdown
71 lines
2.1 KiB
Markdown
# Travel Planner Application
|
|
|
|
This is a simple Flask-based web application that helps users plan and manage their travels, including the ability to add, view, edit, and remove trips and stages.
|
|
|
|
## Prerequisites
|
|
|
|
- Azure
|
|
- Kubernetes
|
|
- Docker installed (for building containers).
|
|
- Python 3.x
|
|
- PostgreSQL database (set up using Kubernetes and Docker).
|
|
- Flask library installed.
|
|
|
|
## Setup
|
|
|
|
To prepare and start the application, you can use the following bash scripts.
|
|
|
|
### 1. Prepare the Application
|
|
|
|
First, ensure you have everything set up correctly by running the `prepare-app.sh` script. This script prepares the application for deployment.
|
|
|
|
```bash
|
|
./prepare-app.sh
|
|
```
|
|
|
|
### 2. Start the Application
|
|
|
|
After preparing the application, use the `deploy.sh` script to start it. This will launch your application and give you the URL to access it at the end of the script.
|
|
|
|
```bash
|
|
./deploy.sh
|
|
```
|
|
|
|
The URL to access the app will be displayed at the end of the script output.
|
|
|
|
## Functionality
|
|
|
|
### Travel Management
|
|
|
|
- **Add a new trip**: Fill in the traveler name, trip name, start date, and end date.
|
|
- **View all trips**: A list of all trips is displayed.
|
|
- **Edit a trip**: You can modify the details of an existing trip.
|
|
- **Remove a trip**: Delete a trip from the database.
|
|
|
|
### Stage Management
|
|
|
|
- **Add a stage**: For each trip, you can add stages (cities) along with their order.
|
|
- **View stages**: The stages for each trip are listed with their order.
|
|
- **Edit a stage**: You can modify the details of each stage.
|
|
- **Remove a stage**: Delete a stage from a trip.
|
|
|
|
## Architecture
|
|
|
|
The application uses the following technologies:
|
|
|
|
- **Flask** for the web framework.
|
|
- **PostgreSQL** for the database (configured to run with Kubernetes).
|
|
- **Kubernetes** for deploying the application.
|
|
- **Docker** for containerizing the app.
|
|
- **Azure** for the deploying online
|
|
|
|
## Troubleshooting
|
|
|
|
- Ensure that the PostgreSQL database is correctly running and connected to the application.
|
|
- Check the logs if any errors occur during the start-up process.
|
|
- Make sure the Kubernetes cluster is set up correctly and all pods are running.
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License.
|