Skip to content

frostaura/fa.lifeos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

886 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

LifeOS Logo

LifeOS

๐ŸŒฑ Comprehensive Life Management Platform

CI License: MIT .NET 8 React 19 TypeScript PostgreSQL Vite Tailwind CSS

Track, analyze, and optimize all aspects of your life through data-driven insights, financial simulations, and health metrics.


โœจ Features

Module Description
๐Ÿ“Š Life Score Aggregated score (0-100) across all pillars of life
๐Ÿ’ฐ Financial Management Multi-currency accounts, net worth tracking, tax profiles
๐Ÿ”ฎ Simulation Engine Project your financial future with scenarios and events
๐Ÿƒ Health & Longevity Evidence-based life expectancy calculations
๐Ÿ“ˆ Custom Metrics Track any metric with API integration
๐Ÿงช Scientific adherence Adherence indices, streaks, milestones, and celebration telemetry
๐Ÿ”” Notifications & Realtime Manage in-app and browser alerts while wallboard updates pulse in real time

๐Ÿš€ Quick Start

Docker (Recommended)

git clone https://github.com/frostaura/fa.lifeos.git
cd fa.lifeos
cp .env.example .env
docker compose up -d

Or use the project Makefile:

make docker-ready
  • Frontend: http://localhost:5173
  • Backend: http://localhost:5001
  • MailHog: http://localhost:8025
  • Authentication: open the landing page and use Sign in or Get started. The public /login route redirects back into that landing modal.
  • Dev quick login: disabled by default; only enable it locally with VITE_ENABLE_DEV_LOGIN=true when you explicitly need the non-passkey fallback.

Local Development

# Database
docker compose up -d postgres

# Backend
cd src/backend && dotnet run --project LifeOS.Api

# Frontend
cd src/frontend && npm install && npm run dev

For Docker-based local runs, keep runtime secrets in the ignored repo-root .env. For direct backend dotnet run, prefer ASP.NET user-secrets on src/backend/LifeOS.Api so SMTP and connection-string values stay out of tracked JSON files.

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Frontend (React 19 + Vite + RTK Query + Tailwind)              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Backend (ASP.NET Core 8 + EF Core + Clean Architecture)        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Database (PostgreSQL 17)                                       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Key Services

Service Purpose
SimulationEngine Month-by-month projections with taxes, interest, inflation
LongevityEstimator Life expectancy from health metrics
ScoreCalculator Life Score computation across life pillars
HealthIndexCalculator Health score computation plus physiological trust warnings
WealthHealthCalculator Finance-signal normalization into the Wealth Health score
PrimaryStatsCalculator Identity stat and radar updates from dimension scores

๐Ÿ“ก API Overview

Endpoint Description
GET /api/dashboard Dashboard summary
GET/POST /api/accounts Financial accounts
POST /api/simulations/scenarios/{id}/run Run simulation
GET /api/longevity Longevity estimate
POST /api/metrics/record Record metrics

Full API docs at /swagger when running.

๐Ÿงช Testing

# Full local lifecycle
make docker-ready
make lint
make build
make test
make integration
make integration-postgres
make e2e
make release-validation

# Frontend unit tests
cd src/frontend && npm run test

# Backend Tests
cd src/backend && dotnet test --filter "FullyQualifiedName!~PostgresProof"

Use make up only when you need the compose stack without the readiness smoke checks. make docker-ready remains the canonical compose-readiness gate, make integration is the fast backend HTTP/integration gate that still uses the default Testing harness, make integration-postgres is the dedicated real-Postgres proof lane that applies EF migrations to isolated databases and exercises representative backend flows on Npgsql, and make release-validation is the single root preflight for lint + build + test + integration + e2e + docker-ready + integration-postgres before the manual walkthrough in docs/testing/TEST-001-manual-regression.md. The raw backend dotnet test examples intentionally exclude PostgresProof because that dedicated lane requires a live Postgres admin connection string and is exercised separately through make integration-postgres. Hosted .github/workflows/ci.yml mirrors that validation path for PRs to main and, after a successful merge-driven push to main, automatically publishes the backend and frontend Docker Hub images from the same workflow without an approval gate.

๐Ÿ“ Project Structure

fa.lifeos/
โ”œโ”€โ”€ src/backend/          # .NET 8 API (Clean Architecture)
โ”‚   โ”œโ”€โ”€ LifeOS.Api/       # Controllers, Middleware
โ”‚   โ”œโ”€โ”€ LifeOS.Application/ # Services, DTOs
โ”‚   โ”œโ”€โ”€ LifeOS.Domain/    # Entities, Enums
โ”‚   โ””โ”€โ”€ LifeOS.Infrastructure/ # DbContext, Repos
โ”œโ”€โ”€ src/frontend/         # React 19 SPA
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ components/   # Atomic design (atoms/molecules/organisms)
โ”‚       โ”œโ”€โ”€ pages/        # Route pages
โ”‚       โ””โ”€โ”€ services/     # RTK Query endpoints
โ””โ”€โ”€ docker-compose.yml    # Development environment

๐Ÿ”ง Configuration

Variable Description
ConnectionStrings__DefaultConnection PostgreSQL connection
Jwt__SecretKey JWT signing key (32+ chars)
Cors__AllowedOrigins__0 Allowed CORS origin
Fido2__ServerDomain / Fido2__ServerName / Fido2__Origin Passkey/WebAuthn server and origin configuration
SEED_DEMO_ACCOUNT Enables/disables automatic demo data seeding on API startup
VITE_API_URL / VITE_SIGNALR_URL / VITE_API_PORT Frontend API and SignalR endpoint configuration
VITE_ENABLE_DEV_LOGIN Enables the development-only quick-login button in the landing auth modal
VITE_WALLBOARD_REFRESH_SECONDS Wallboard auto-refresh interval in seconds (clamped 5-3600, default 30)

๐Ÿ“„ License

MIT License - see LICENSE


"Optimize your life, one pillar at a time."

About

LifeOS tracks and projects various metrics of life, split into. core pillars of life. For individuals who love data and want to take tracking their goals and finances with purpose.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Generated from frostaura/ai.toolkit.gaia