Prerequisites
Before you begin, ensure you have:- Python 3.8 or higher installed
- Node.js 16 or higher and npm
- PostgreSQL database running
- Qdrant vector database running
- Ollama with embedding model installed
- Redis server running
- A Google Gemini API key (for AI generation)
If you haven’t installed these dependencies yet, follow our complete Installation Guide first.
Get Started
Clone and Set Up the Project
Clone the repository and navigate to the project directory:Install Python dependencies:Install frontend dependencies:
Configure Your Database
Create a PostgreSQL database for EduMate:Update the database connection in
backend/database.py:backend/database.py
The database tables will be created automatically when you start the server for the first time.
Set Up Your Environment
Create a Ensure all required services are running:
.env file in the project root and add your Gemini API key:- PostgreSQL: Port 5432
- Qdrant: Port 6333
- Redis: Port 6379
- Ollama: Port 11434
Start the Backend Server
Start the Redis queue worker in one terminal:Start the FastAPI backend server in another terminal:The API server will be available at
http://localhost:8000.Start the Frontend (Optional)
For development, you can run the React frontend:Or build it for production:
If you build the frontend, the FastAPI server will automatically serve it from
http://localhost:8000.Create Your Account
Register a new account using the signup endpoint:Then login to get your access token:Save the
access_token from the response - you’ll need it for authenticated requests.Upload Your First Document
Upload a PDF document to be processed and indexed:The response will include a
job_id and collection_name:The document will be chunked into smaller pieces and embedded using Ollama’s
qwen3-embedding:0.6b model, then stored in Qdrant for semantic search.Check Processing Status
Monitor the chunking job status:Wait until you get a response with
"status": "chunked":Generate Your First Assessment
Generate multiple-choice questions based on your document:This returns a job ID:Check the job status:When complete, you’ll receive structured MCQs:
What’s Next?
Installation Guide
Detailed setup instructions for all dependencies
API Reference
Complete API documentation for all endpoints
RAG System
Learn about EduMate’s RAG architecture
Bloom's Taxonomy
Understanding cognitive levels in assessments