.. | ||
app | ||
k8s | ||
Dockerfile | ||
prepare-app.sh | ||
README.md | ||
start-app.sh | ||
stop-app.sh |
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
- Minikube installed and running (for Kubernetes setup).
- 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.
./prepare-app.sh
2. Start the Application
After preparing the application, use the start-app.sh
script to start it. This will launch your application and give you the URL to access it at the end of the script.
./start-app.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.
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.