Skip to content

Flask app with Python & Jinja, for a Nautical Tours Webpage.

Notifications You must be signed in to change notification settings

Nelson00011/NauticalTours

Repository files navigation

Nautical Tours

homePage

Description

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.

Demo Youtube Video

Screen Shots

  • Sendgrid (twilio) form with character limit enforced:

image

image

  • Google Maps API with specialized Google Places markers (defined by type)

polyTour

reviews

Technology stack

Back-End: Python, Flask, Jinja, SQLAlchemy, Bcrypt

APIs: Google Maps, Google Places, Twilio (SendGrid)

Front-End: HTML5, CSS, Bootstrap, Javascript

Run Code (Environment)

  • 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

http://localhost:5000/

Additional information: The login functionality requires that you have a secret.sh set as local environment variables:

SENDGRID_API_KEY

Resources & Helpful Hints:

  • Flask installation info here:
  • Jinja Information here
  • SQLAlchemy Database for Python here
  • Initial GIST Proposal Approved by Hackbright here

Helpful Hints

  • 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.