How charan-sandeep/geteasy works
Subject Guide is a subject-scoped study assistant: learners create a course workspace, upload and categorize materials, then ask grounded questions or solve question banks using those materials. Uploads are extracted, chunked, indexed, and used to refresh topic relationships and question-topic links; queries retrieve subject-scoped evidence before generating cited answers. The README also documents subject analytics and prerequisite suggestions. The tree and sampled code support the upload and query wiring; several subject-management and vector-store internals were not sampled, so their internal calls are not expanded.
Main entry points: documents.py Document routes · query.py Query routes · database.py Database session · main.py API entry
Components 17
Learner experience
- Study interface
frontend/app/page.js
API and domain
- API entry
backend/app/main.py - Account routes
backend/app/routers/auth.py - Subject routes
backend/app/routers/subjects.py - Document routes
backend/app/routers/documents.py - Query routes
backend/app/routers/query.py - Identity checks
backend/app/services/auth_service.py
Study knowledge
- Document processing
backend/app/services/document_processor.py - Vector retrieval
backend/app/services/vector_store.py - Topic mapping
backend/app/services/topic_service.py - Answer generation
backend/app/services/llm_service.py
Persistence and model
- Relational data
backend/app/models/models.py - Database session
backend/app/database.py - PostgreSQL
- ChromaDB
- Groq
Other components
- Learner
Connections 27
- Learner → Study interface: uses
- Study interface → API entry: sends requests
- API entry → Account routes: dispatches
- API entry → Subject routes: dispatches
- API entry → Document routes: dispatches
- API entry → Query routes: dispatches
- Account routes → Identity checks: hashes credentials
- Identity checks → Database session: queries users
- Subject routes → Identity checks: checks ownership
- Document routes → Identity checks: checks ownership
- Query routes → Identity checks: checks ownership
- Account routes → Database session: stores accounts
- Subject routes → Database session: manages subjects
- Document routes → Database session: manages metadata
- Query routes → Database session: reads topics
- Database session → PostgreSQL: connects
- Document routes → Document processing: extracts and chunks
- Document routes → Vector retrieval: indexes chunks
- Document routes → Topic mapping: refreshes mappings
- Document routes → Database session: stores chunk records
- Vector retrieval → ChromaDB: stores and retrieves
- Topic mapping → Database session: persists topic links
- Query routes → Vector retrieval: retrieves evidence
- Query routes → Topic mapping: finds prerequisites
- Query routes → Answer generation: generates answers
- Query routes → Document processing: extracts questions
- Answer generation → Groq: requests completion