Skip to content

tuscig/wingfit

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Wingfit

Status GitHub Issues License

πŸ‹οΈ The wingman for your fitness


Wingfit Planning

πŸ“ Table of Contents

πŸ“¦ About

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.


🌱 Getting Started

These steps will guide to deploy the app, ready to use in ⏱️ minutes.
If you need help, feel free to open an issue.

Preparation

Clone the repo, you're one step away from being all set

git clone https://github.com/itskovacs/wingfit.git
cd wingfit

Docker 🐳 (recommended)

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

Serving the content

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";
    }
}

Sources πŸ‘©β€πŸ’»

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

πŸ“Έ Demo

A demo is available at Wingfit.fr.


🚧 Roadmap

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).


πŸ“œ License

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.


🀝 Contributing

Contributions are welcome! Feel free to open issues if you find bugs and pull requests for your new features!

  1. Fork the repo
  2. Create a new branch (my-new-wingfit-feature)
  3. Commit changes
  4. Open a pull request

πŸ› οΈ Tech Stack

Frontend

  • πŸ…°οΈ Angular (Progressive Web App)
  • πŸ—οΈ PrimeNG
  • 🎨 Tailwind CSS

Backend

  • 🐍 FastAPI, SQLModel
  • πŸ—ƒοΈ SQLite

✍️ Authors

-Β @itskovacs


If you like Wingfit, consider giving it a star ⭐!
Made with ❀️ in BZH

About

Minimalist fitness app to organize your workouts and track your personal records

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 52.1%
  • HTML 26.3%
  • Python 20.5%
  • Other 1.1%