🏋️ The wingman for your fitness
- 📦 About
- 🌱 Getting Started
- 📸 Demo
- 🚧 Roadmap
- 📜 License
- 🤝 Contributing
- 🛠️ Tech Stack
- ✍️ Authors
Wingfit is a minimalist fitness app to organize your workouts and track your personal records. Demo is worth a thousand words, head to 📸 Demo.
🔒 Privacy-First – No telemetry, no tracking, fully self-hostable. You own your data. Inspect, modify, and contribute freely.
These steps will guide to deploy the app, ready to use in ⏱️ minutes.
If you need help, feel free to open an issue.
Clone the repo, you're one step away from being all set
git clone https://github.com/itskovacs/wingfit.git
cd wingfit
If needed, edit docker-compose.yml
to modify the mapped port (default is 127.0.0.1:8080).
Run the container, head to Wingfit website, create an account, enjoy ✅
docker compose up -d
You can serve Wingfit using a web server, eg: Nginx
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name wingfit.lan; # Your wingfit domain
location / {
proxy_pass http://localhost:8080; # Wingfit port, default is 8080
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Install from sources and run the backend. Build the frontend and serve it with the web server.
backend
cd backend
# Source virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install .
# Run the backend, port :8000
fastapi run fastapp:app
You can specify
frontend
cd frontend
# Install dependencies
npm install
# Build the frontend
npm build
# Copy the build to your static web server directory
cp -r dist/wingfit/browser /var/www/html
A demo is available at Wingfit.fr.
New features coming soonTM, check out the development plan in the Roadmap Wiki. If you have ideas 💡, feel free to open an issue.
If you want to develop new feature, feel free to open a pull request (see 🤝 Contributing).
I decided to license Wingfit under the CC BY-NC-SA 4.0 – You may use, modify, and share freely with attribution, but commercial use is prohibited.
Contributions are welcome! Feel free to open issues if you find bugs and pull requests for your new features!
- Fork the repo
- Create a new branch (
my-new-wingfit-feature
) - Commit changes
- Open a pull request
🅰️ Angular (Progressive Web App)- 🏗️ PrimeNG
- 🎨 Tailwind CSS
- 🐍 FastAPI, SQLModel
- 🗃️ SQLite
If you like Wingfit, consider giving it a star ⭐!
Made with ❤️ in BZH