Skip to content
DerDaehnePublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

WOPlanner 🏋️

A Progressive Web App (PWA) for tracking workouts and monitoring strength progression. Built with Rust, HTMX, and focused on simplicity and performance.

Rust SQLite HTMX

Features ✨

Core Functionality

  • **User Management - Multi-user support with session-based authentication
  • Exercise Library - Create and manage custom exercises with instructions
  • Workout Planning - Build structured workout routines with multiple exercises
  • Live Training - Guided workout experience with real-time set tracking
  • Training History - Review past workouts and track progression over time
  • Smart Scheduling - Manual, weekly, or rotation-based workout scheduling

User Experience

  • Mobile-First Design - Optimized for iOS and Android PWA
  • OLED-Dark-UI - schwarz, monochrom, ein Akzent
  • Single Exercise Focus - Guided flow through exercises and sets
  • Real-time Progress - See your workout completion percentage
  • Touch-Friendly - Large tap targets and smooth animations

Tech Stack 🛠️

Backend

Frontend

Infrastructure

Getting Started 🚀

Prerequisites

  • Nix (recommended) - For reproducible dev environment (not really necessary though)
  • Rust 1.70+ - Install via rustup
  • SQLite - Usually pre-installed on Unix systems

Development Setup

Option 1: Using Nix (Recommended)

# clone the repository
git clone https://github.com/DerDaehne/woplanner.git
cd woplanner

# enter Nix development shell
nix develop

# run the application
cargo run

Option 2: Using Cargo

# clone the repository
git clone https://github.com/DerDaehne/woplanner.git
cd woplanner

# set database URL (optional, defaults to ./bodybuilding.db)
export DATABASE_URL="sqlite:./bodybuilding.db"

# run database migrations (automatic on first run)
cargo run

Access the application

open your browser and navigate to:

http://localhost:3000

Development Workflow

# auto-restart on code changes
cargo watch -x run

# run tests (no tests implemented yet!)
cargo test

# run linter
cargo clippy

# format code
cargo fmt

# build for production
cargo build --release

Configuration ⚙️

Environment Variables

# database location (default: sqlite:./bodybuilding.db)
DATABASE_URL="sqlite:./path/to/db.db"

# server port (default: 3000)
PORT=3000

Roadmap 🗺️

In Progress

  • user management
  • exercise library
  • workout planning
  • live training tracking
  • basic dashboard
  • training history (WIP)

Planned Features

  • exercise progression charts
  • body measurements tracking
  • rest timer between sets
  • personal Records (PRs) detection
  • training streaks & achievements
  • workout templates
  • progressive overload suggestions
  • full offline support
  • export/import data (Trainingspläne als YAML)

Project Status & kabai Configuration

See PROJECT_STATUS.md for detailed kabai board configuration, status definitions, and allowed workflow transitions.

License 📄

This project is open source and available under the MIT License.

Note: This is a learning project focused on Rust, HTMX, and PWA development. Features are continuously being added and improved. I'm doing this all in my spare time for myself.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages