GetStronger is an open-source gym workout application designed to help users track strength training routines, monitor progress, and connect with others in the fitness community.
- Workout Tracking: Log exercises, sets, and reps with ease.
- Personal Bests: Automatically track and display personal records for each exercise.
- Social Features: Follow friends, share progress, and stay motivated.
- Progress Analytics: Visualise strength gains over time.
- Mobile-First Design: Optimised for mobile devices to ensure seamless usability in the gym.
Experience the app firsthand: Visit GetStronger
Use the demo account to explore all features:
- Email:
demo@demo.com
- Password:
demodemo
- Web: TypeScript (Vue.js, Tailwind CSS)
- Backend: Golang
- Database: PostgreSQL
- APIs: gRPC-compatible, Protocol Buffers
- Infrastructure: AWS (S3, EC2, Route 53), Terraform
- CI/CD: GitHub Actions
- Go: v1.23
- Node.js: v22
- Docker
-
Clone the repository:
git clone https://github.com/crlssn/getstronger.git cd getstronger
-
Install dependencies:
make install
-
Initialise
.env
files for the web and backend: files you may need to update to suite your environment.make env
-
Initialise the database:
make db_init
-
Run database migrations:
make db_migrate
-
(Optional) Seed the database:
make db_seed
-
(Optional) Generate self-signed certificates for the backend:
make gen_certs
⚠ You must trust the self-signed certificate in your browser after you've started the backend.
-
Start the email app if you want to sign up locally and your
EMAIL_PROVIDER
env is set tolocal
:make app_email
-
Start the backend app:
make app_backend
-
Start the web app:
make app_web
- Access the web app at http://localhost:5173. You can now login with email
john@doe.com
and password123
if you seeded the database.