A Flask application designed for the management of a small Tour Agency.
- Create the database using this file
- Insert your MySQL host, user and password in the config file
- Check the requirements and install missing packages with
pip install <package_name>
- Run the app.py file to start Flask
- Run the file main.py and follow the instructions in the output console
This API allows users to perform 7 different actions through the console:
- Look at all available tour packages
- Check availability of a chosen period in the future
- Book a tour package
- Cancel a booking
- Register my details
- Update my details
- Exit
The database keeps a record of:
- bookings
- packages offered
- clients details
- availability
Once you have completed the setup steps you will know the program is running correctly when you see a welcome message outputted. Use the output console to type your choices. This API has been tested with most edge cases and contains error handling. Incorrect input is verified and should not cause errors in the program.
Important
Please ensure your information config.py is correct and your flask server is running correctly.
This API has been designed for a tour company with a sole tourist guide. Creating multiple bookings for the same date is not permitted. While some input validation has been included, email and phone numbers have fewer restrictions. This is to facilitate the use of mock data for demo purposes.
A login system could be implemented in the future to make the user experience more fluid. An interface with buttons and forms could also simplify the process and overall improve user experience. Endpoint could be developed to facilitate the use of data from the admin perspective.