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
|
|
@ -0,0 +1,154 @@
|
|||
---
|
||||
date: 2026-01-04T17:39:07-03:00
|
||||
git_commit: N/A (not a git repository)
|
||||
branch: N/A
|
||||
repository: normogen
|
||||
topic: "Normogen Codebase Documentation - Initial State"
|
||||
tags: [research, codebase, project-status, documentation]
|
||||
status: complete
|
||||
---
|
||||
|
||||
# Research: Normogen Codebase Documentation
|
||||
|
||||
## Research Question
|
||||
Document the current state of the Normogen project codebase based on introduction.md to understand what exists, where components are located, and how the architecture is planned.
|
||||
|
||||
## Summary
|
||||
|
||||
**Critical Finding:** The Normogen project is currently in the **conceptual/planning phase** only. The codebase contains **no implementation code** whatsoever. The entire project exists as a single design document (`introduction.md`) outlining the planned architecture and features.
|
||||
|
||||
**Status:** Pre-implementation - Planning Stage
|
||||
|
||||
## Detailed Findings
|
||||
|
||||
### Current Project State
|
||||
|
||||
#### What Exists
|
||||
- **Single File Only:** `/home/asoliver/desarrollo/normogen/introduction.md` (2,642 bytes)
|
||||
- **No Git Repository:** Project is not under version control
|
||||
- **No Source Code:** Zero lines of implementation code
|
||||
- **No Configuration:** No Cargo.toml, package.json, docker-compose, or other config files
|
||||
- **No Directory Structure:** Flat directory with only the design document
|
||||
|
||||
#### What Does NOT Exist (Yet)
|
||||
Based on the plans in introduction.md, the following components are **not yet implemented**:
|
||||
|
||||
1. **Backend (Rust)**
|
||||
- No Rust server code
|
||||
- No Cargo.toml or workspace configuration
|
||||
- No database schema or migrations
|
||||
- No encryption implementation
|
||||
- No API endpoints
|
||||
|
||||
2. **Web Server (Node.js)**
|
||||
- No package.json
|
||||
- No web server code
|
||||
- No frontend code
|
||||
|
||||
3. **Mobile Applications**
|
||||
- No iOS/Swift code
|
||||
- No Android/Kotlin code
|
||||
- No React Native or cross-platform framework setup
|
||||
|
||||
4. **Infrastructure**
|
||||
- No Docker configuration
|
||||
- No database setup (PostgreSQL, MongoDB, etc.)
|
||||
- No CI/CD pipelines
|
||||
- No deployment configuration
|
||||
|
||||
5. **Plugin System**
|
||||
- No plugin architecture
|
||||
- No import/export implementations
|
||||
- No lab result converters
|
||||
|
||||
## Project Vision (From introduction.md)
|
||||
|
||||
### Planned Architecture
|
||||
- **Client-Server Model:** Linux Docker server, web and mobile clients
|
||||
- **Tech Stack:**
|
||||
- Backend: Rust
|
||||
- Web Server: Node.js
|
||||
- Mobile: Platform-native or cross-platform
|
||||
- **Security:** End-to-end encryption, data accessible only to user
|
||||
- **Business Model:** Subscription-based, open-source
|
||||
- **Privacy:** No corporate data usage, instant data deletion ("nuke option")
|
||||
|
||||
### Planned Features
|
||||
|
||||
#### User Management
|
||||
- User authentication system
|
||||
- Person records (distinct from logged-in users)
|
||||
- Family structure (parent-child, caregiving relationships)
|
||||
|
||||
#### Health Data Tracking
|
||||
- Lab results storage
|
||||
- Medication management (shape, schedule, composition)
|
||||
- Health statistics (weight, height, age over time)
|
||||
- Medical appointments
|
||||
- Regular checkups
|
||||
- Period tracking
|
||||
- Pregnancy tracking
|
||||
- Dental records
|
||||
- Illness records
|
||||
|
||||
#### Phone App Features
|
||||
- Medication reminders
|
||||
- QR code scanner for lab results
|
||||
- Health sensor integration (steps, activity, breathing, sleep, blood pressure, temperature)
|
||||
- Periodic server sync
|
||||
- Instant data deletion
|
||||
|
||||
#### Plugin System
|
||||
- Import/export functionality
|
||||
- Lab result format converters
|
||||
- Sensor data adapters
|
||||
|
||||
#### Data Sharing
|
||||
- Selective data sharing with external users
|
||||
- Expiring link-based access
|
||||
- Granular encryption to support partial access
|
||||
|
||||
## Code References
|
||||
**No code references available - project has not been implemented yet.**
|
||||
|
||||
Only reference:
|
||||
- `/home/asoliver/desarrollo/normogen/introduction.md:1-82` - Complete project design document
|
||||
|
||||
## Open Questions
|
||||
|
||||
### Immediate Next Steps for Implementation
|
||||
1. **Version Control:** Initialize Git repository
|
||||
2. **Project Structure:** Create directory layout for Rust backend, Node.js web server, mobile apps
|
||||
3. **Technology Choices:**
|
||||
- Which Rust web framework? (Actix, Axum, Rocket?)
|
||||
- Which database? (PostgreSQL, MongoDB, SQLite?)
|
||||
- Encryption libraries and key management approach
|
||||
- Mobile app framework choice
|
||||
4. **MVP Definition:** What is the minimal viable product to start with?
|
||||
|
||||
### Architectural Decisions Needed
|
||||
1. **Encryption Architecture:** How to implement "limited password" access for shared data while maintaining encryption
|
||||
2. **Plugin System Design:** Define plugin interface and loading mechanism
|
||||
3. **Data Models:** Design schema for health records, medications, lab results
|
||||
4. **API Design:** REST vs GraphQL, authentication approach
|
||||
5. **Mobile Sync Strategy:** Offline-first vs always-online, conflict resolution
|
||||
|
||||
### Development Priority
|
||||
What should be built first?
|
||||
- Backend authentication and data models?
|
||||
- Basic web interface?
|
||||
- Mobile app with sensor integration?
|
||||
- Plugin system foundation?
|
||||
|
||||
## Recommendation
|
||||
|
||||
This is a **greenfield project** in the planning phase. Before writing code, the following should be established:
|
||||
|
||||
1. **Set up version control** (Git)
|
||||
2. **Create project structure** with placeholder directories
|
||||
3. **Choose specific technologies** (Rust framework, database, encryption libraries)
|
||||
4. **Define MVP scope** - what features are essential for the first version
|
||||
5. **Create initial README** with setup instructions and contribution guidelines
|
||||
6. **Consider starting with backend API** before building clients
|
||||
|
||||
The project vision is clear and well-documented. The next step is to begin implementation.
|
||||
Loading…
Add table
Add a link
Reference in a new issue