A retrieval-augmented educational platform combining application services, vector search, caching, and event-driven infrastructure to support AI-assisted learning experiences.
RAG Educational System is a multi-service project centered on Retrieval-Augmented Generation (RAG) for educational use cases.
The repository brings together application components with supporting infrastructure for relational data, caching, vector retrieval, and event-driven processing. Environment-specific secrets and local service data are intentionally excluded from version control.
┌──────────────────────┐
│ Educational Client │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Application Services │
└───────┬──────┬───────┘
│ │
┌───────────┘ └────────────┐
▼ ▼
PostgreSQL 16 Redis 7
│ │
└──────────────┬────────────────┘
▼
Qdrant Vector DB
│
▼
Retrieval / RAG Layer
│
▼
AI-powered answers
Kafka provides event-driven messaging
| Area | Technologies |
|---|---|
| Application | Java / Python services in the repository |
| Database | PostgreSQL 16 |
| Cache | Redis 7 |
| Vector Database | Qdrant |
| Messaging | Apache Kafka / Confluent Kafka |
| Frontend | Project frontend module |
| AI Architecture | Retrieval-Augmented Generation (RAG) |
| Infrastructure | Docker Compose |
User Question
↓
Retrieve Relevant Knowledge
↓
Vector Search
↓
Build Context
↓
Generate Context-Aware Response
↓
Return Educational Answer
The vector database is used for semantic retrieval, while PostgreSQL provides relational persistence and Redis supports fast-access application state/cache use cases.
The provided Docker Compose configuration defines:
- PostgreSQL 16 on port
5432 - Redis 7 on port
6379 - Qdrant on ports
6333and6334 - Kafka on ports
9092and29092
Persistent Docker volumes are configured for PostgreSQL, Redis, and Qdrant data.
- Git
- Docker and Docker Compose
- The runtime/tooling required by the individual application modules
git clone https://github.com/prashantpiyush1111/rag-educational-system.git
cd rag-educational-systemThe infrastructure uses environment variables such as DB_PASSWORD. Create the required local environment configuration without committing secrets.
docker compose up -dCheck the containers with:
docker compose psApplication-specific run commands may vary by module and should be executed from the relevant service directory.
The repository excludes local environment files, generated vector-database data, Python virtual environments, build artifacts, and infrastructure secrets from version control.
Never commit database passwords, API keys, tokens, or production environment files.
The repository includes separate areas for application services, a frontend, infrastructure configuration, and local development dependencies. See the source tree for the current module layout.
- Explore practical RAG architecture for educational applications
- Combine semantic retrieval with application/business data
- Use containerized infrastructure for reproducible local development
- Practice integration across databases, caches, vector stores, and messaging systems
The architecture can be extended with richer educational workflows, stronger retrieval/evaluation pipelines, production authentication, observability, and deployment automation as the project evolves.
Prashant Maurya
GitHub: @prashantpiyush1111
See the repository license for current usage terms.