System Design
The current repo is a POC centered on problem suggestion using an obstacle chosen by the user, a structured prompt, and difficulty classification. The API layer will stay thin while the orchestration and schemas live server-side.
Data Model (ERD)
Sequence Diagrams
Problem Suggestion (Obstacle → Structured Prompt → Problem + Hints + Classification)
Solve with Stepwise Hints
Difficulty Assessment & Classification
Evaluate Answer & Feedback
Minimal Deployment Diagram
- Nginx: TLS termination, gzip, reverse proxy to Gunicorn/Uvicorn.
- FastAPI: Orchestrates structured prompts + JSON schemas
- RDS MySQL: Stores problems, hints, attempts, evaluations, and classifications.
- Secrets Manager: DB and LLM API keys kept out of code; rotate regularly.
- CloudWatch: Logs/metrics; alarms on error rate and latency.