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!
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.
- Includes several items on the page that change according to user interaction
- Create routes using markers for start and finish of a route
- Search for beginning points of routes within a certain radius using the app's Find a Route feature
- Most recent route's time to completion and distance
- Total distance along routes
- Total time on routes
- Total calories burned
- Search for other users ("rivals") and add them to your community
- See community members' profile and dashboard
If you would like to contribute to this project in any way, you may take the following steps
- Fork this repository
- Locally create a new branch
git checkout -b <new branch name>
- Make updates and push branch up to repo
git push -u origin <new branch name>
- Create a pull request - Please include clear details of changes
Please report any bugs/issues you may find via opening an issue in this repo
Follow these steps if you need guidance on setting up and running a local server for this project
- Clone or fork this repo
- cd into backend and run
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
- cd into frontend and run
npm install
- Create a .env file in both the frontend and backend and follow the .env.example files
- Create a postgresql database according to the
DATABASE_URL
in .env.example - Start your Flask app from backend with
pipenv run flask run
- Start your React app from frontend with
npm start
- Server will be on http://localhost:3000/