Nautical Tours is a Flask app built on Python and Jinja. The website is designed to allow active users to book and save trips to specific tour locations. Explore more about the Sailing Tours the company offers, including personalized customer reviews.
- For Inquiries a contact form uses Twilio (Sendgrid) to send a confirmation email to user's and an internal company members to respond to.
- Every Tour, User, Trip and Rating is saved using SQL Alchemy to communicate with PostgreSQL database. Users can rate every tour they have attended with an interactive form, that allows review generation, editing and deletion.
- Google Maps API uses AJAX to call a specific port city that users can than explore with Google Places API to look up specific tourist attractions in the surrounding area. Exploration buttons allow the map components to be toggled without reloading the underlying Google Map.
- Bootstraps is utilized in combination with traditional CSS to have a consistent design aesthetic through-out the site.
- Youtube Video LINK HERE
- Sendgrid (twilio) form with character limit enforced:
- Google Maps API with specialized Google Places markers (defined by type)
Back-End: Python, Flask, Jinja, SQLAlchemy, Bcrypt
APIs: Google Maps, Google Places, Twilio (SendGrid)
Front-End: HTML5, CSS, Bootstrap, Javascript
- Create and activate virtual environment (local dev only):
> pip3 install virtualenv
> virtualenv env
> source env/bin/activate
- Install the dependences/requirements (localhost:5000):
> pip3 install -r requirements.txt
- Create test database
> python3 seed_database.py
- Run the app:
> python server.py
- Open your browser and navigate to
Additional information: The login functionality requires that you have a secret.sh set as local environment variables:
SENDGRID_API_KEY
- Flask installation info here:
- Flask-Bcrypt for python
- Jinja Information here
- SQLAlchemy Database for Python here
- Initial GIST Proposal Approved by Hackbright here
- developement environment will play a large role in dependencies/requirements
- DevZero great for one-click solutions to rapid switching between Python & Node.js dev ennvironments without any dependencies problems.