System Design
Resonote focuses on 4 modular components: ingestion → curation → indexing → reflection. It’s online-first, so users open source links directly at the original site.
Data Model (ERD)
Sequence Diagrams
Ingestion → Curation → Indexing
List & Filter Articles (Unread / Favorite / By Source or Tag)
Mark as Read
Toggle Favorite
Add / Edit Reflection
Knowledge Graph Dashboard
Knowledge Graph — Load & Build
Knowledge Graph — Force Layout & Render
Knowledge Graph — User Interactions
Minimal Deployment Diagram
- Nginx: TLS termination, static gzip, reverse proxy to Gunicorn (Flask).
- Gunicorn: WSGI server for Flask; tune workers/threads for EC2 size.
- RDS MySQL: primary store; enable automated backups and snapshots.
- CloudWatch: app & ingestion logs; dashboards + alarms on errors/latency.
- Secrets Manager: DB creds and API keys (e.g., for sources) rotated out of code.