Make the project's documentation match the code and remove the sprawl. The docs
claimed Phase 2.8 (drug interactions) was 'planning/0%' and the backend '~91%
complete' — both wrong: 2.8 is implemented and live, plus the P0/P1 security
and test work is done. Five root CI/CD docs described a 'docker-build' CI job
that was removed; ~18 backend/ status snapshots and ~24 docs/implementation
duplicates cluttered the tree.
Deletions (85 files):
- Root: 4 stale CI/CD reports (CI-CD-{COMPLETION-REPORT,IMPLEMENTATION-SUMMARY,
STATUS-REPORT,FINAL-STATUS}.md) — all describe the removed docker-build job.
- backend/: 18 phase/build/fix snapshots and code-dump .txt files.
- docs/: the 3 one-time reorg reports; ~17 docs/implementation duplicates and
process artifacts; 4 stale docs/development CI docs + git snapshots;
redundant deployment/testing files.
- thoughts/: STATUS.md (said Phase 2.4 in-progress), superseded phase notes and
duplicative research inputs. tmp/ (928KB of CI debug logs, gitignored).
Moves (18 files):
- 9 genuine decision records -> docs/adr/ (Architecture Decision Records),
date-prefixes stripped, with an index README.
- 8 historical-but-valuable phase plans/specs + the old CI-CD-FINAL-SOLUTION ->
docs/archive/ (now-populated, with a README explaining it's superseded
material). thoughts/ tree removed.
Rewrites (13 files) to match reality:
- Drop the fake '% complete' figures everywhere in favor of Implemented /
In-Progress / Planned with concrete endpoint/feature lists.
- Phase 2.8 -> Implemented; add /api/interactions/* and /api/auth/{refresh,
logout} to the endpoint lists; fix 'Rust 1.93' -> edition 2021.
- Add a Security section (token_version validation, hashed refresh-token
persistence, fail-fast config, real-IP audit) and correct the test-coverage
and deployment claims to reality.
- New canonical docs/development/CI-CD.md (4 jobs: format/clippy/build/test,
mongo service, no docker-build + why).
- README, docs/README, product/{STATUS,ROADMAP,PROGRESS,README,introduction},
implementation/README, development/README, testing/README, AI_AGENT_GUIDE,
.cursorrules, .gooserules all updated.
Verified: greps for 'Phase 2.8 (Planning)', 'PLANNING (0%)', 'Rust 1.93',
'91%/10%/85% complete', and 'docker-build' return nothing outside docs/archive;
all internal doc links resolve; backend/src untouched (cargo build clean).
|
||
|---|---|---|
| .. | ||
| ANALYSIS_RECOMMENDATIONS.md | ||
| encryption.md | ||
| ENCRYPTION_UPDATE_SUMMARY.md | ||
| introduction.md | ||
| PERSONA_AND_FAMILY_MANAGEMENT.md | ||
| PROGRESS.md | ||
| README.md | ||
| ROADMAP.md | ||
| STATUS.md | ||
Normogen - Product Documentation
Welcome to the Normogen product documentation. Normogen (Mapudungun for "Balanced Life") is an open-source health data platform for private, secure health data management.
🚀 Quick Start
For Users
1. Quick Setup (Docker)
# Clone the repository
git clone <repository-url>
cd normogen
# Start the backend with Docker
cd backend
docker compose up -d
# Check health
curl http://localhost:8000/health
2. Access the API
The backend API will be available at http://localhost:8000
For Developers
1. Prerequisites
- Backend: Rust (edition 2021 toolchain), Docker
- Frontend: Node.js 18+, npm
2. Backend Development
cd backend
cargo build # Build
cargo test # Run tests
cargo run # Run locally
3. Frontend Development
cd web/normogen-web
npm install # Install dependencies
npm start # Start dev server
npm test # Run tests
4. Learn the Project
- Read introduction.md - Project background and purpose
- Check STATUS.md - Current development status
- Review ROADMAP.md - Development phases and timeline
- Understand encryption.md - Security architecture
📊 Current Status
Backend: ✅ Phase 2.x feature-complete (through drug interactions); security-hardened; deployed on Solaria. Frontend: 🚧 Early (Login/Register + API/store layer; router not yet wired). Deployment: Docker on Solaria (image built manually — not in CI). Tests: 18 unit + 13 integration (auth + medication), CI-gated with MongoDB.
See STATUS.md for detailed progress tracking.
📚 Documentation Files
Core Documentation
README.md
This file - Product documentation overview and quick start.
STATUS.md
Current project status and progress tracking
- Overall status (Backend feature-complete through Phase 2.8; Frontend early stage)
- Phase-by-phase completion status
- Recently completed features
- Next milestones
Last Updated: 2026-03-09
Updates: Real-time progress tracking
ROADMAP.md
Development phases and milestones
- Phase breakdown (1-5)
- Timeline estimates
- Feature planning
- Technology stack
Last Updated: 2026-03-09
Scope: Complete project timeline through 2027
Background & Context
introduction.md
Project introduction, motivation, and background
- Naming origin (Mapudungun)
- Purpose and vision
- Business model (subscriptions, not data selling)
- Architecture overview
- Feature list
Last Updated: 2026-01-04
Length: 82 lines
encryption.md
Security architecture and encryption design
- Zero-knowledge encryption for MongoDB
- Shareable links with embedded passwords
- Security best practices
- Advanced features (recovery, revocation)
- Code examples (currently JavaScript, needs Rust)
Size: 32KB (1,248 lines)
Last Updated: 2026-01-10
Note: Comprehensive security documentation
🔑 Key Information
Project Overview
- Name: Normogen (Balanced Life in Mapudungun)
- Goal: Open-source health data platform for private, secure health data management
- Current Phase: 2.8 (drug interactions) implemented; open work is the frontend (Phase 3)
- Backend: Rust + Axum + MongoDB (Phase 2.x feature-complete, security-hardened)
- Frontend: React + TypeScript + Material-UI (early stage — Login/Register + API/store layer)
Technology Stack
Backend:
- Rust (edition 2021), Axum 0.7
- MongoDB 7.0
- JWT authentication (15min access, 30day refresh)
- PBKDF2 password hashing (100K iterations)
Frontend:
- React 19.2.4, TypeScript 4.9.5
- Material-UI (MUI) 7.3.9
- Zustand 5.0.11 (state management)
- Axios 1.13.6 (HTTP client)
🎯 Key Features
Implemented ✅
- JWT authentication with token rotation
- User management and profiles
- Permission-based access control
- Share management (share resources with others)
- Security hardening (rate limiting, audit logging)
- Medication management (CRUD, adherence tracking)
- Health statistics tracking
- Lab results storage
- OpenFDA integration
In Progress 🚧
- Drug interaction checking (Phase 2.8)
- Automated reminder system
- Advanced health analytics
Planned 🔮
- Healthcare data export (FHIR, HL7)
- Medication refill tracking
- Caregiver access
- Frontend dashboard
- Mobile apps (iOS, Android)
- AI/ML features
🔒 Security
Normogen implements enterprise-grade security:
- Zero-knowledge encryption: Data encrypted at rest
- PBKDF2: Password hashing with 100K iterations
- JWT: Secure authentication with token rotation
- Rate limiting: Protection against brute force
- Audit logging: Track all security events
See encryption.md for comprehensive security documentation.
📡 API Endpoints
Authentication
POST /api/auth/register- User registrationPOST /api/auth/login- User loginPOST /api/auth/logout- User logoutPOST /api/auth/refresh- Refresh access tokenPOST /api/auth/recover-password- Password recovery
User Management
GET /api/users/me- Get current user profilePUT /api/users/me- Update profileDELETE /api/users/me- Delete accountPOST /api/users/me/change-password- Change passwordGET/PUT /api/users/me/settings- User settings
Medications
POST /api/medications- Create medicationGET /api/medications- List medicationsGET /api/medications/:id- Get medicationPOST /api/medications/:id- Update medicationPOST /api/medications/:id/delete- Delete medicationPOST /api/medications/:id/log- Log doseGET /api/medications/:id/adherence- Get adherence
Health Statistics
POST /api/health-stats- Create health statGET /api/health-stats- List health statsGET /api/health-stats/:id- Get health statPUT /api/health-stats/:id- Update health statDELETE /api/health-stats/:id- Delete health statGET /api/health-stats/trends- Get trends
Shares & Permissions
POST /api/shares- Create shareGET /api/shares- List sharesPUT /api/shares/:id- Update shareDELETE /api/shares/:id- Delete sharePOST /api/permissions/check- Check permissions
Sessions
GET /api/sessions- List sessionsDELETE /api/sessions/:id- Revoke sessionDELETE /api/sessions/all- Revoke all sessions
Health Check
GET /health- Health check endpoint
🛠️ Development
Backend Development
cd backend
cargo build # Build backend
cargo test # Run tests
cargo clippy # Lint
cargo run # Run locally
docker compose up -d # Run with Docker
Frontend Development
cd web/normogen-web
npm install # Install dependencies
npm start # Start dev server
npm test # Run tests
Testing
# Backend tests
cd backend && cargo test
# Frontend tests
cd web/normogen-web && npm test
# Integration tests
./docs/testing/quick-test.sh
./docs/testing/test-api-endpoints.sh
📈 Project Progress
Backend: Phase 2.x feature-complete ✅
- ✅ Authentication & authorization (JWT, refresh-token rotation, token_version invalidation)
- ✅ User management
- ✅ Medication management
- ✅ Health statistics
- ✅ Lab results
- ✅ Security features (audit logging, account lockout, fail-fast config, real-IP audit)
- ✅ Drug interactions (Phase 2.8)
Frontend: Early stage 🚧
- 🚧 Login/register pages + API/store layer
- 📋 Router wiring, dashboard (planned)
- 📋 Medication UI (planned)
See STATUS.md for detailed progress.
🗺️ Roadmap
Phase 2.8 follow-ups (not started)
- Automated reminders
- Advanced analytics
- Data export (FHIR, HL7)
Phase 3 (Planned - Q2 2026)
- Complete frontend app
- Dashboard and visualization
- Medication management UI
Phase 4 (Future - 2027)
- Mobile apps (iOS, Android)
- AI/ML features
- Third-party integrations
See ROADMAP.md for complete roadmap.
🤝 Contributing
We welcome contributions! See:
- AI_AGENT_GUIDE.md - For AI agents and developers
- development/README.md - Development workflow
- implementation/README.md - Implementation details
📞 Support & Resources
Documentation
External Resources
📝 License
TBD (not yet decided)
Last Updated: 2026-03-09
Maintained By: Project maintainers
For Questions: Create an issue or discussion