Files
astrain/README.md
2026-01-29 10:32:50 +01:00

42 lines
1.2 KiB
Markdown

# ASTRAIN
ASTRAIN is a dark-mode, mobile-first workout logbook. It runs a Blazor WebAssembly frontend and an ASP.NET Core minimal API backend (both on .NET 10) in a single container. The API is served under `/api`, while the UI is served at `/`.
## Features
- Exercises and routines management
- Routine runs with last-run weights
- User identification via 8-character key in the URL
- SQLite storage via Entity Framework Core
## Local development
### Run API (serves UI when published)
1. Restore/build:
- `dotnet restore`
2. Run the API:
- `dotnet run --project src/ASTRAIN.Api/ASTRAIN.Api.csproj`
### Run Client (for UI-only development)
- `dotnet run --project src/ASTRAIN.Client/ASTRAIN.Client.csproj`
## Docker
Build and run the single-container setup:
- `docker compose -f docker/docker-compose.yml up --build`
The app will be available at http://localhost:8080
## URLs
- `/exercises` or `/{userId}/exercises`
- `/routines` or `/{userId}/routines`
Opening a URL without a user id will generate a new user and redirect to `/{userId}/routines`.
## Data
SQLite database file is stored in `src/ASTRAIN.Api/Data/astrain.db` (or `/app/Data/astrain.db` in Docker).