Resolve the operational/config sprawl (#10-#14 from the review): the app read NORMOGEN_*/MONGODB_* env vars but every env/compose file set SERVER_*/DATABASE_*, the ports were all over the place (8080/8000/6500/6800), there were 5 inconsistent Dockerfiles (rust:1.82 vs rust:1.93, missing curl), and an 18 MB binary was committed. Env-var names — standardize on what the code reads: * config/mod.rs: NORMOGEN_PORT default 8080 -> 6500 (avoid the over-common 8000/8080). * db/mod.rs: create_database() now reads MONGODB_DATABASE (was DATABASE_NAME). * .env.example, defaults.env, docker-compose.yml, docker-compose.dev.yml, DEPLOYMENT_GUIDE.md, deployment/README.md, deploy-and-test-solaria.sh, deploy-local-build.sh: use NORMOGEN_HOST/NORMOGEN_PORT/MONGODB_URI/ MONGODB_DATABASE/APP_ENVIRONMENT; drop the dead SERVER_*/DATABASE_URI/ DATABASE_NAME names. Ports — canonical container port 6500 everywhere: * Both Dockerfiles EXPOSE 6500; prod compose maps 6500:6500, dev 6501:6500. * Bulk-replaced the long tail of solaria:8000/localhost:8000/localhost:8080 in docs and test scripts -> 6500. Dockerfiles — 2 canonical, rust:latest, curl + healthcheck: * backend/Dockerfile (prod): rust:latest builder, debian runtime now installs curl (so the compose HEALTHCHECK actually works), EXPOSE 6500. * backend/docker/Dockerfile.dev (dev): rust:latest both stages, EXPOSE 6500. * Deleted 3 redundant Dockerfiles (Dockerfile.improved x2, docker/Dockerfile). * Deleted the committed 18 MB binary backend/docker/normogen-backend. * Deleted 2 stray fix-notes in backend/docker/. Compose: * docker-compose.yml: correct env names, 6500:6500, APP_ENVIRONMENT=production, JWT_SECRET/ENCRYPTION_KEY required via compose interpolation, dropped the obsolete top-level version: key. * docker-compose.dev.yml: correct env names, 6501:6500, mongo:7 (was 6.0), added a working backend healthcheck. * Deleted docker/docker-compose.improved.yml + backend/deploy-to-solaria-improved.sh (built around the now-deleted 'improved' Docker files). Verified: cargo fmt --check clean, build + clippy --all-targets clean, 18 unit tests pass; grep confirms no SERVER_*/DATABASE_* env names and no rust:1.x tags remain outside docs/archive and docs/adr (historical). |
||
|---|---|---|
| .. | ||
| adr | ||
| archive | ||
| deployment | ||
| development | ||
| implementation | ||
| product | ||
| testing | ||
| AI_AGENT_GUIDE.md | ||
| AI_QUICK_REFERENCE.md | ||
| README.md | ||
Normogen Documentation Index
Welcome to the Normogen project documentation. This directory contains all project documentation organized by category.
📁 Documentation Structure
Product
Core product documentation and project overview.
- README.md - Project overview and quick start guide
- STATUS.md - Current project status
- ROADMAP.md - Development roadmap and milestones
- PROGRESS.md - Progress dashboard
- introduction.md - Project introduction and background
- encryption.md - Encryption and security architecture
Implementation
Phase-by-phase implementation completion records (2.3 through 2.8, plus frontend). See implementation/README.md for the full list.
ADR
Architecture Decision Records — the "why" behind the major technical choices (stack, schema, JWT, frontend, deployment).
Development
Development workflow and CI/CD.
Testing
Test scripts and testing notes.
- test-api-endpoints.sh - API endpoint testing
- test-medication-api.sh - Medication API tests
- solaria-test.sh / check-solaria-logs.sh - Solaria deployment testing
- quick-test.sh - Quick smoke test
Deployment
Deployment guides and scripts.
- DEPLOYMENT_GUIDE.md - Complete deployment guide
- deploy-to-solaria.sh / deploy-and-test-solaria.sh - Solaria deployment scripts
Archive
Superseded and historical documentation kept for reference (phase plans, old CI state, point-in-time test snapshots). Not current.
📊 Project Status
- Backend: Phase 2.x feature-complete (through drug interactions); security-hardened; deployed on Solaria.
- Frontend: Early stage (Login/Register + API/store layer; router not wired).
- Tests: 18 unit + 13 integration, CI-gated with MongoDB.
- See product/STATUS.md for the full breakdown.
- Last Updated: 2026-06-27
🤖 For AI Agents
- AI Agent Quick Reference - Essential commands and patterns
- AI Agent Guide - Comprehensive guide for working in this repository