Lift-X / LiftX

Workout Tracker

Home Page:https://liftx.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LiftX

LiftX is a WIP workout tracker.

Installation

Docker

  1. Clone the repository: git clone https://github.com/lift-x/liftx.git
  2. Configure the docker-compose.yml
  3. Build and launch!: docker compose up --build -d

TODO

  • JSON for data retrieval
  • Learn Svelte
  • Workout View
  • Status Codes
  • Workout create
    • When adding exercises form a json, render off the json. (Editing/deleting exerices will be possible then)
  • Front page
  • Login/Auth
    • Register Account
    • Login
      • Remember Login?
      • Add validation (on frontend, backend has validation)
    • Delete
  • User Home Page
    • Summaries of workouts
      • Add "New Workout" panel for users with less than 3 workouts
      • View All page
    • Progression statistics/graphcs
    • Body weight graph?
  • Account Page
    • Global unit preference
    • Delete account
    • Themes (light/dark)
    • Home page customization
  • Add Support for other DB types (diesel?) such as MariaDB, Postgres, MySQL..
  • Extend error handling with global error codes and don't handle Result<>s with unwrap()s
  • Organize api (/api/v1), follow some sort of standard like OpenAPI or GraphQL
  • Ratelimiting
  • Gzip assets
  • Docker!

Ideas for the future

These ideas either take a lot of work to implement or would change the structure of the app majorly.

  • GPX Support
  • Exercise lists, with muscle group visualization (like wger)
  • Native mobile applications (Svelte-native?)
  • Nutrition Tracking
  • Cardio support, timers, laps
  • Calorie estimations?

Contributing

Prerequisites:

  1. Clone the repo
  2. Install npm dependencies: npm install
  3. Build the web frontend: npm run build
  4. Run the backend: cargo run

About

Workout Tracker

https://liftx.xyz

License:GNU General Public License v3.0


Languages

Language:Rust 72.8%Language:Svelte 20.7%Language:JavaScript 3.7%Language:Dockerfile 1.5%Language:HTML 0.7%Language:CSS 0.7%