LifeRPG_v2.0/modern/ROADMAP.md

86 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LifeRPG Modernization Roadmap
This roadmap prioritizes work to modernize LifeRPG into a cross-platform, integrations-capable, security-focused habit-tracking "level-up" system.
Prioritization legend:
- Priority: P1 (high), P2 (medium), P3 (low)
- Effort: S (1-3 days), M (1-2 weeks), L (2-6 weeks)
Milestone 1 — Core rewrite & cross-platform skeleton (P1, S → M)
- Goal: Create a maintainable API backend, web frontend, and PWA shell.
- Tasks:
- Scaffold backend API (initial: lightweight stdlib server; target: FastAPI) — Effort: S
- Scaffold React frontend + Vite + PWA manifest — Effort: S
- Add Dockerfiles and docker-compose for local dev — Effort: S
- Add CI skeleton (lint/test/build) — Effort: S
- Success criteria: repo contains runnable dev skeleton and CI passes basic checks.
Milestone 2 — Data model & persistence (P1, M)
- Goal: Design DB schema and migration strategy.
- Tasks:
- Draft ER: Users, Profiles, Projects, Habits, Logs, Achievements, Integrations, ChangeLog — Effort: S
- Implement migrations + ORM (e.g., SQLAlchemy/Alembic or Diesel/Golang) — Effort: M
- Add encrypted backups and export/import — Effort: S
- Success criteria: migrations run and basic entities can be persisted.
Milestone 3 — Auth, security, and infra (P1, M)
- Goal: Secure auth and deployment-ready infra.
- Tasks:
- Implement OAuth2/OIDC login with PKCE and refresh tokens — Effort: M
- Secure storage for tokens (Keystore/Keychain) — Effort: M
- Add 2FA (TOTP) and account hardening — Effort: M
- Add security middleware (CSP, HSTS, secure cookies) — Effort: S
- Success criteria: secure login flows and CI security checks enabled.
Milestone 4 — Integrations platform (P1, M → L)
- Goal: Add Google Calendar, Todoist, GitHub, Slack integrations.
- Tasks:
- Build pluggable adapter interface + webhook receiver — Effort: S
- Implement Google Calendar adapter (OAuth + sync) — Effort: M
- Implement Todoist adapter and sample sync — Effort: M
- Add rate-limited worker queue for background sync (Redis/RQ/RabbitMQ) — Effort: M
- Success criteria: successful demo sync for at least Google Calendar.
Milestone 5 — Mobile & offline (P2, M)
- Goal: Provide Android support and offline-first experience.
- Tasks:
- Implement PWA caching + background sync — Effort: S
- Optionally scaffold React Native / Flutter app with local DB sync — Effort: M
- Implement conflict resolution strategy and sync indicators — Effort: M
- Success criteria: PWA installable on Android with offline tasks and sync.
Milestone 6 — Gamification & analytics (P2, M)
- Goal: Rebuild gamification engine and analytics dashboard.
- Tasks:
- Implement XP/levels, achievements, streaks model — Effort: S
- Add analytics endpoints and frontend charts (heatmap, time series) — Effort: M
- Add opt-in anonymized telemetry — Effort: S
- Success criteria: visible progress UI and charts in frontend.
Milestone 7 — Extensibility and portfolio polish (P3, M → L)
- Goal: Plugins, documentation, security portfolio artifacts.
- Tasks:
- Add plugin system (sandbox with WASM or Lua) — Effort: L
- Add thorough docs, CONTRIBUTING, CODE_OF_CONDUCT, architecture guides — Effort: M
- Add security writeups, SBOM, CI SAST scans, and demo accounts — Effort: M
- Success criteria: repo is ready for public demo with documentation and security artifacts.
Roadmap timeline (example pace: solo maintainer ~10 hrs/week):
- Month 0 (weeks 02): Milestone 1
- Month 1 (weeks 36): Milestone 2 + start Milestone 3
- Month 2 (weeks 710): Finish Milestone 3
- Month 34: Milestone 4
- Month 5: Milestone 5
- Month 6: Milestone 6
- Months 7+: Milestone 7 and polish
Risks & mitigations:
- Third-party API rate limits — use queued workers and backoff.
- OAuth complexity on mobile — use PKCE and server-side token exchange patterns.
- Privacy/regulatory requirements — provide E2EE option and clear privacy policy.
Deliverables created in this commit:
- Minimal scaffold for backend and frontend
- `ROADMAP.md` (this file)