# 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. ```bash ./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. ```bash ./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.