Initial commit: Project setup and documentation
- Initialize Normogen health tracking platform - Add comprehensive project documentation - Add zero-knowledge encryption implementation guide - Set up .gitignore for Rust/Node.js/mobile development - Create README with project overview and roadmap Project is currently in planning phase with no implementation code yet.
This commit is contained in:
commit
e72602d784
10 changed files with 3407 additions and 0 deletions
89
README.md
Normal file
89
README.md
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
# 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.
|
||||
|
||||
## Key Features
|
||||
|
||||
### Core Functionality
|
||||
- 🔐 **Zero-knowledge encryption** - Your data is encrypted before it reaches the server
|
||||
- 👥 **Multi-person profiles** - Track health data for yourself, children, elderly family members
|
||||
- 👨👩👧👦 **Family structure** - Manage family health records in one place
|
||||
- 🔗 **Secure sharing** - Share specific data via expiring links with embedded passwords
|
||||
- 📱 **Mobile apps** - iOS and Android with health sensor integration
|
||||
- 🌐 **Web interface** - Access from any device
|
||||
|
||||
### Health Data Tracking
|
||||
- Lab results storage
|
||||
- Medication tracking (dosage, schedules, composition)
|
||||
- Health statistics (weight, height, trends)
|
||||
- Medical appointments
|
||||
- Regular checkups
|
||||
- Period tracking
|
||||
- Pregnancy tracking
|
||||
- Dental information
|
||||
- Illness records
|
||||
- Phone sensor data (steps, activity, sleep, blood pressure, temperature)
|
||||
|
||||
## Architecture
|
||||
|
||||
### Technology Stack
|
||||
- **Backend API**: Rust
|
||||
- **Web Server**: Node.js
|
||||
- **Database**: MongoDB (with zero-knowledge encryption)
|
||||
- **Frontend**: Web + iOS + Android
|
||||
- **Deployment**: Docker on Linux
|
||||
|
||||
### Security Model
|
||||
- **Client-side encryption**: Data encrypted before leaving the 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
|
||||
|
||||
🚧 **Current Phase**: Planning/Documentation
|
||||
|
||||
### Completed
|
||||
- ✅ Project vision and requirements
|
||||
- ✅ Security architecture design
|
||||
- ✅ Encryption implementation guide
|
||||
- ✅ Feature specifications
|
||||
- ✅ Git repository initialization
|
||||
|
||||
### Next Steps
|
||||
- [ ] Select Rust framework (Actix, Axum, Rocket?)
|
||||
- [ ] Design database schema
|
||||
- [ ] Implement authentication system
|
||||
- [ ] Build CRUD API
|
||||
- [ ] Create web frontend
|
||||
- [ ] Add encryption layer
|
||||
- [ ] Implement sharing functionality
|
||||
|
||||
## Open Source
|
||||
|
||||
Normogen is open-source. Both server and client code will be publicly available.
|
||||
|
||||
## License
|
||||
|
||||
TBD
|
||||
|
||||
## Contributing
|
||||
|
||||
TBD - While in planning phase, contributions are welcome through discussion and documentation improvements.
|
||||
|
||||
---
|
||||
|
||||
**Note**: This project is currently in the planning phase. No implementation code has been written yet.
|
||||
Loading…
Add table
Add a link
Reference in a new issue