Skip to content

Sparky338/FlyingFox-Capstone

Repository files navigation

Flying Fox

Welcome to Flying Fox, a clone of Squirrel

View the live site here: Flying Fox

Flying Fox jumps into human flight, providing a place to look at and purchase wingsuits, tracking suits, and parachutes for skydiving and BASE jumping. This project is based off of the Squirrel website where they sell similar items and other equipment.

Technologies and Frameworks used:

JavaScript Python HTML5 CSS3 React Redux Flask GitHub Git AWS

  • Hosted on Render with a Postgres database

MVP Core Features:

  • Local Storage shopping cart
  • Purchases/ Orders
  • Reviews with AWS implementation
  • Categories
  • News

Screenshots:

Home Page FlyingFox-home-page

Login and Signup FlyingFox-login-signup-page

Item page FlyingFox-item-page

Cart FlyingFox-cart-page

Order Page FlyingFox-order-page

News FlyingFox-news-page

News Article FlyingFox-news-article

Getting Started

  1. Clone this repository.
git clone https://github.com/Sparky338/FlyingFox-Capstone.git
  1. Install dependencies
pipenv install -r requirements.txt
  1. Create a .env file based on the example with proper settings for your development environment

  2. Make sure the SQLite3 database connection URL is in the .env file

  3. Get into your pipenv, migrate your database, seed your database, and run your Flask app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  4. To run the React App in development, in a new terminal, get into react-app, install the npm packages, and start it

    cd react-app
    npm install
    npm start

Contact Information

GitHub

LinkedIn

Portfolio

matthewjhutter@gmail.com

Troubleshooting

If you encounter

ImportError: cannot import name 'safe_str_cmp' from 'werkzeug.security' (.../FlyingFox-Capstone/.venv/lib/python3.9/site-packages/werkzeug/security.py)

some code must be added to import 'safe_str_cmp' using hmac due to the deprecation of 'safe_str_cmp'. Please find a working snippet here that can be added to the end of security.py

hmac 'safe_str_cmp' code
def safe_str_cmp(a: str, b: str) -> bool:
   """This function compares strings in somewhat constant time. This
   requires that the length of at least one string is known in advance.

   Returns `True` if the two strings are equal, or `False` if they are not.
   """

   if isinstance(a, str):
      a = a.encode("utf-8")  # type: ignore

   if isinstance(b, str):
      b = b.encode("utf-8")  # type: ignore

   return hmac.compare_digest(a, b)

 ```
</details>

About

2022 AppAcademy Capstone Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors