PrepEase is an AI-powered learning platform that helps students study smarter and helps teachers create better course content. It combines a React frontend, a Node.js/Express backend, and AI-assisted study tools for chat, quiz generation, assignments, and flashcards.
The platform is designed around uploaded course materials. Teachers can add learning resources, and students can interact with those materials through an AI study buddy that answers questions using grounded content from the document.
- AI study buddy for asking questions about uploaded materials
- Quiz, assignment, and flashcard generation for teachers
- Course enrollment and access control for students
- PDF text extraction and material processing
- React-based dashboard with a responsive UI
- JWT-based authentication and role-based permissions
Prep-Ease/
├── PrepEase/ # React + Vite frontend
├── backend/ # Node.js + Express API
├── ai-service/ # Python AI microservice
└── README.md # Project overview and setup
- Frontend: React, Vite, TypeScript, Tailwind CSS
- Backend: Node.js, Express, MongoDB, JWT
- AI Integration: Google Gemini, content-grounded prompts, PDF extraction
- Optional AI Service: FastAPI-based internal AI microservice for semantic retrieval workflows
- Node.js 18+
- npm
- Python 3.10+ if you want to run
ai-service - MongoDB connection string
- A valid Gemini API key
cd PrepEase
npm install
cd ../backend
npm install
cd ../ai-service
pip install -r requirements.txtCreate or update backend/.env with the required values, including:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
GEMINI_API_KEY=your_gemini_api_key
PORT=5001If you use the Python AI service, configure its environment variables as needed as well.
cd backend
npm run devThe API usually runs on http://localhost:5001.
cd PrepEase
npm run devThe frontend usually runs on http://localhost:5173.
cd ai-service
uvicorn main:app --host 0.0.0.0 --port 8000 --reload- A teacher uploads a PDF or learning resource.
- The backend extracts and stores the content.
- AI features become available for the material.
- Students open Study Buddy to ask grounded questions.
- Teachers generate quizzes, assignments, or flashcards from the same material.
- If Gemini requests fail, verify that
GEMINI_API_KEYis correct and restart the backend. - If the frontend cannot connect, confirm the backend is running on port
5001. - If MongoDB is unavailable, verify the
MONGODB_URIvalue inbackend/.env. - If AI features are unavailable, ensure the uploaded material finished processing successfully.
QUICK_START.mdfor a fast local setupbackend/GEMINI_INTEGRATION_SUMMARY.mdfor AI configuration detailsbackend/FLASHCARD_IMPLEMENTATION.mdfor flashcard workflow detailsbackend/00_START_HERE.mdfor implementation status and API overview
No license has been specified in this repository.