A comprehensive full-stack educational platform combining resource sharing, interactive discussions, AI-powered learning, and structured course/roadmap creation.
Live Demo β’ Report Bug β’ Request Feature
We're excited to be part of Social Winter of Code 2026! This is a great opportunity for open-source enthusiasts to contribute to a real-world educational platform.
- π·οΈ Check issues labeled
swoc2026,good first issue,help wanted - π Read CONTRIBUTING.md before starting
- π¬ Join discussions and ask questions in issues
- β Star the repo to show your support!
- User Authentication - Local signup/login with OTP verification + Google OAuth
- Resource Sharing - Upload and browse PDFs/ebooks by semester, course, department
- Discussion Forum - Community Q&A with voting, best answers, and @mentions
- Courses - Create structured courses with AI-generated content and progress tracking
- Roadmaps - Generate learning roadmaps with resources, tools, and career guidance
- AI PDF Chatbot - Chat with uploaded PDFs using RAG (Retrieval-Augmented Generation)
- Admin Panel - Manage users, content, feature suggestions, and bug reports
- Real-time Updates - WebSocket support for live notifications
- AI Content Generation - Groq-powered course outlines and chapter content
- Vector Database - Pinecone integration for semantic PDF search
- Caching - Redis caching for improved performance
- Email Notifications - OTP and notification emails via SMTP
- File Storage - Cloudinary and R2 (Backblaze) integration
- SEO Optimization - Sitemap generation and metadata
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (Client) β
β React 19 + TypeScript + Tailwind CSS + Vite β
β Deployed on Vercel β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Backend (Node.js Server) β
β Express.js + Prisma + MongoDB + Socket.io β
β Deployed on Fly.io β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI Backend (Python FastAPI) β
β FastAPI + LangChain + Pinecone + Groq β
β Deployed on Fly.io β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS 4, Socket.io Client, Axios, Monaco Editor, Framer Motion |
| Backend | Express.js, Prisma ORM, MongoDB, Socket.io, JWT, Passport.js, Groq SDK, Nodemailer, Redis |
| AI Backend | FastAPI, LangChain, Pinecone, OpenAI Embeddings, Groq LLM, PyPDF |
| Deployment | Vercel (Frontend), Fly.io (Backends), MongoDB Atlas, Redis Cloud |
edulume/
βββ client/ # React frontend
β βββ src/
β β βββ components/ # React components
β β βββ hooks/ # Custom hooks
β β βββ utils/ # Utility functions
β β βββ types/ # TypeScript types
β βββ public/ # Static assets
β
βββ server/ # Express.js backend
β βββ routes/ # API routes
β βββ middleware/ # Express middleware
β βββ config/ # Configuration
β βββ socket/ # Socket.io handlers
β βββ prisma/ # Prisma schema
β βββ utils/ # Utility functions
β
βββ python-backend/ # FastAPI AI backend
βββ fileUpload/ # PDF upload handlers
βββ RAGresponse/ # RAG implementation
βββ sessionCleanup/ # Session management
- Node.js v20.12.2+
- Python 3.11+
- MongoDB (local or Atlas)
- Git
# Clone the repository
git clone https://github.com/tarinagarwal/edulume.git
cd edulume
# Frontend setup
cd client
npm install
cp .env.example .env # Configure environment variables
npm run dev
# Backend setup (new terminal)
cd server
npm install
cp .env.example .env # Configure environment variables
npm run db:generate
npm run dev
# Python backend setup (new terminal)
cd python-backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # Configure environment variables
uvicorn main:app --reload- Ensure you have Docker and Docker Compose installed.
- Configure
.envfile:cp .env.example .env
- Update
.envwith your API keys and configuration. - Run the application:
docker-compose up --build
- Access the application:
- Client: http://localhost
- Server: http://localhost:3000
- Python Backend: http://localhost:8080
π For detailed setup instructions, see INSTALLATION.md
| Module | Endpoints | Description |
|---|---|---|
| Auth | /api/auth/* |
Signup, login, OAuth, OTP, password reset |
| Resources | /api/pdfs/*, /api/ebooks/* |
PDF and ebook management |
| Discussions | /api/discussions/* |
Forum with voting and notifications |
| Courses | /api/courses/* |
Course creation, enrollment, progress |
| Roadmaps | /api/roadmaps/* |
Learning roadmap generation |
| Feedback | /api/feedback/* |
Feature suggestions and bug reports |
| AI Chat | /api/pdf-chat/* |
RAG-based PDF chatbot |
We welcome contributions from everyone! Whether you're fixing bugs, adding features, or improving documentation.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π Read CONTRIBUTING.md for detailed guidelines
Looking for a place to start? Check out issues labeled:
good first issue- Perfect for newcomershelp wanted- We need your help!documentation- Help improve our docsbug- Help us squash bugs
| Model | Description |
|---|---|
| User | Authentication and profiles |
| Discussion, Answer, Reply | Forum system |
| Course, Chapter, Enrollment | Course management |
| Roadmap, RoadmapBookmark | Learning paths |
| Pdf, Ebook | Resource storage |
| Notification | Real-time alerts |
| FeatureSuggestion, BugReport | Feedback system |
Key environment variables needed:
| Variable | Description |
|---|---|
DATABASE_URL |
MongoDB connection string |
JWT_SECRET |
JWT signing secret |
GROQ_API_KEY |
Groq API for AI features |
OPENAI_API_KEY |
OpenAI for embeddings |
PINECONE_API_KEY |
Pinecone vector database |
GOOGLE_CLIENT_ID/SECRET |
Google OAuth credentials |
π See INSTALLATION.md for complete environment setup
This project is licensed under the MIT License - see the LICENSE file for details.
- All our amazing contributors
- SWOC 2026 for the opportunity
- Open source community
- π§ Create an issue for bugs or feature requests
- π¬ Use in-app feedback system
- β Star this repo if you find it helpful!