Kbart2401 / Catch-me-if-you-can

Fitness tracking web app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo

Catch Me If You Can Documentation

Built with

Summary

Catch Me If You Can is a fun, competitive app that lets you create and track routes that you've walked, biked or ran. Add friends ("rivals") and they can track their own times on your route. Each route has a leaderboard to see who has the fastest time!

A note on the Demo User

There is a Demo login that allows access to the site. However, the Demo User Login does NOT use your geolocation, but instead uses a hard-coded latitude and longitude. The Demo User also comes with pre-seeded data (including routes and run times) so that you can utilize the full functionality of the site as it was intended. If you would like to create and find routes (if they are existing) in your local area, either manually navigate to your region or sign up for the site to get instant data on your area.

Features

Modern interactive landing page

  • Includes several items on the page that change according to user interaction

Screen Shot 2021-02-08 at 10 50 08 AM

Interactive map using © MapBox api

  • Create routes using markers for start and finish of a route

Screen Shot 2021-02-08 at 10 52 33 AM

  • Search for beginning points of routes within a certain radius using the app's Find a Route feature

Screen Shot 2021-02-08 at 10 57 43 AM

Dashboard that tracks several key metrics

  • Most recent route's time to completion and distance
  • Total distance along routes
  • Total time on routes
  • Total calories burned

Screen Shot 2021-02-08 at 10 51 14 AM

Community page with the following features

  • Search for other users ("rivals") and add them to your community
  • See community members' profile and dashboard

Screen Shot 2021-02-08 at 10 59 16 AM

Fun animated 404 page

Screen Shot 2021-02-08 at 10 59 44 AM

View all the personal routes you've added and view their leaderboards

Screen Shot 2021-02-08 at 11 12 02 AM

Database Schema

Screen Shot 2021-02-08 at 11 32 37 AM


Usage

Contribution

If you would like to contribute to this project in any way, you may take the following steps

  1. Fork this repository
  2. Locally create a new branch git checkout -b <new branch name>
  3. Make updates and push branch up to repo git push -u origin <new branch name>
  4. Create a pull request - Please include clear details of changes

Reporting bugs

Please report any bugs/issues you may find via opening an issue in this repo

Development

Follow these steps if you need guidance on setting up and running a local server for this project

  1. Clone or fork this repo
  2. cd into backend and run pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  3. cd into frontend and run npm install
  4. Create a .env file in both the frontend and backend and follow the .env.example files
  5. Create a postgresql database according to the DATABASE_URL in .env.example
  6. Start your Flask app from backend with pipenv run flask run
  7. Start your React app from frontend with npm start

About

Fitness tracking web app


Languages

Language:JavaScript 72.7%Language:Python 22.3%Language:CSS 3.4%Language:HTML 0.6%Language:Dockerfile 0.4%Language:Mako 0.3%Language:Shell 0.3%