normogen/README.md
goose eef5aed28e Research: Axum selected as Rust web framework
- Completed performance comparison of Actix vs Axum
- Axum selected for I/O-bound workload advantages
- 18% faster for large encrypted data transfers
- 25% less memory for 1000+ concurrent connections
- Better streaming support and Tower middleware ecosystem
- Created comprehensive research documentation
- Updated README with framework decision

Next: Research frontend framework options
2026-02-14 11:29:14 -03:00

78 lines
2.2 KiB
Markdown

# Normogen
## Overview
Normogen is a privacy-focused health data tracking and management platform. The name comes from Mapudungun, relating to Balanced Life.
## Vision
To record as many variables related to health as possible, store them in a secure, private manner, to be used by you, not by corporations. From medication reminders to pattern analysis, Normogen puts you in control of your health data.
## Technology Stack
### Backend
- Framework: Axum 0.7.x
- Runtime: Tokio 1.x
- Middleware: Tower, Tower-HTTP
- Database: MongoDB (with zero-knowledge encryption)
- Language: Rust
### Frontend
- TBD (Research in progress)
### Mobile
- iOS: TBD
- Android: TBD
### Deployment
- Docker on Linux
## Key Features
- Zero-knowledge encryption
- Multi-person profiles
- Family structure management
- Secure sharing with expiring links
- Mobile apps with health sensor integration
- Web interface
## Security Model
- Client-side encryption: Data encrypted before leaving device
- Zero-knowledge: Server stores only encrypted data
- Proton-style encryption: AES-256-GCM with PBKDF2 key derivation
- Shareable links: Self-contained decryption keys in URLs
- Privacy-first: No data selling, subscription-based revenue
## Documentation
- [Introduction](./introduction.md) - Project vision and detailed feature specification
- [Encryption Implementation Guide](./encryption.md) - Zero-knowledge encryption architecture
- [Research](./thoughts/research/) - Technical research and planning documents
## Development Status
Phase: Planning/Documentation
### Completed
- Project vision and requirements
- Security architecture design
- Encryption implementation guide
- Git repository initialization
- Rust framework selection: Axum
### Next Steps
- Research frontend framework (React vs Vue vs Svelte)
- Design authentication system (JWT with recovery phrases)
- Design database schema
- Create proof-of-concept with Axum
- Implement basic CRUD API
- Build web frontend
- Add encryption layer
- Implement sharing functionality
## Open Source
Normogen is open-source. Both server and client code will be publicly available.
Note: This project is currently in the planning phase. No implementation code has been written yet.