FitPass is a pay-as-you-go gym class app. The app allows a user to
- sign up
- create a profile
- select a gym class based on user location
- search for a gym class by various criteria
- add a gym class to Favorite list
- reserve a gym class and make payment by credit card
- track exercise progress over time
Click to watch the app demo youtube video:
- Frontend: https://fitpass.netlify.app/
- Backend: https://fitpass-server.herokuapp.com/
- From the client root folder, run the two commands below
netlify build
netlify deploy --prod
- Go to server root folder, delete the
dist
folder and runtsc
so that Typescript will re-compile the JS files - Commit the changes and push to the remote
main
branch
git add .
git commit -m "re-compile TS to JS"
git push
- Run
cd ..
to go to the project root folder - From the project root folder, run
git subtree push --prefix server heroku master
This will restart the server hosted on Heroku.
- Go to the
client
folder - Run
npm install
from the client root folder to install all the necessary dependencies - Fill in the
.env
file with the environmental variables, as per the.env.example
file in theclient
folder - You will need to change the
baseURL
inclient/utils/api.service
file tohttp://localhost:3001/
. It is pointing tohttps://fitpass-server.herokuapp.com/
by default - Run
npm start
from the client root folder to start the client app athttp://localhost:3000/
- Go to the
server
folder - Run
npm install
from the server root folder to install all the necessary dependencies - Fill in the
.env
file with the environmental variables, as per the.env.example
file in theserver
folder - Run
npm run dev
from the server root folder to start the server app athttp://localhost:3001/
- Frontend - React, Context API and Custom Hooks
- Server - Node & Express
- Database - MongoDB with Mongoose ORM
- Authentication - Auth0
- Payment - Stripe
- Map - Google Map
- Photo storage - Cloudinary
- Styling - TailwindCSS
- Testing - Jest and Cypress
- Typescript for everything