BiLearnHub is a comprehensive AI-powered Learning Management System (LMS) that revolutionizes education through intelligent tutoring, adaptive assessments, and personalized learning paths. The platform supports dual user roles - teachers who create interactive courses and students who learn at their own pace while earning BiPoints and certificates.
- 🎓 Multi-Role Support: Teachers create courses, students learn and earn certificates
- 🤖 AI-Powered Tutoring: Context-aware chatbot with RAG (Retrieval Augmented Generation)
- 📊 Adaptive Quizzes: Dynamic assessments that adapt to student performance
- 💰 BiPoints Rewards: Gamified learning currency system
- 📱 Cross-Platform: Next.js web app + Android mobile app
- ☁️ Cloud Integration: Firebase, Cloudinary, and Pinecone vector database
- 📄 Smart Certificates: Auto-generated PDF certificates with verification
- 🎯 Personalized Onboarding: 4-question flow for customized recommendations
📱 Frontend Applications
├── 🌐 Student Web App (Next.js) - Course consumption, quizzes, notes
├── 🎓 Teacher Web App (Next.js) - Course creation and management
└── 📱 Android App (Kotlin) - Mobile learning experience
🔧 Backend Services
├── ⚡ FastAPI Backend - AI/ML features, certificates, RAG system
├── 🔥 Firebase Services - Authentication, Firestore, Realtime DB
├── 🌤️ Cloudinary - Media storage and delivery
└── 🧠 Pinecone - Vector database for RAG
🤖 AI/ML Stack
├── 🦾 Groq API - LLM inference (llama-3.3-70b-versatile)
├── 🔍 Sentence Transformers - Text embeddings
└── 📚 RAG System - Context-aware intelligent tutoring
Debug-Dynasty/
├── 🎓 teach-frontend/ # Teacher portal (Next.js)
│ ├── app/ # App router pages
│ ├── components/ # Reusable UI components
│ ├── lib/ # Services and utilities
│ └── public/ # Static assets
├── 👨🎓 frontend/ # Student portal (Next.js)
│ ├── app/ # App router pages
│ ├── components/ # UI components + AI features
│ ├── lib/ # Firebase services
│ └── contexts/ # React contexts
├── ⚡ backend/ # FastAPI Python backend
│ ├── main.py # API endpoints
│ ├── rag_service.py # RAG implementation
│ ├── config.py # Configuration
│ └── templates/ # Certificate templates
└── 📱 android/ # Android Kotlin app
├── app/src/main/ # Android source code
└── app/build.gradle.kts # Android dependencies
- Framework: Next.js 15.5.2 with App Router
- UI Library: Radix UI + Tailwind CSS + Shadcn/ui
- Rich Text: TipTap editor with advanced extensions
- Drag & Drop: dnd-kit for course organization
- Authentication: Firebase Auth with Google Sign-in
- State Management: React Context + Custom hooks
- API Framework: FastAPI 0.104.1 with async support
- AI/ML: Groq API, Sentence Transformers, BeautifulSoup4
- PDF Generation: ReportLab + WeasyPrint
- Vector Search: Pinecone vector database
- Cloud Storage: Cloudinary for media assets
- Primary Database: Firebase Firestore
- Real-time Features: Firebase Realtime Database
- Vector Storage: Pinecone (course-isolated namespaces)
- Authentication: Firebase Auth
- File Storage: Cloudinary CDN
- Platform: Android with Kotlin
- Minimum SDK: API 27 (Android 8.1)
- Target SDK: API 36
- Build Tool: Gradle with Kotlin DSL
- Course Creation: Rich text editor with media embedding
- Content Organization: Drag-and-drop chapters and lessons
- Course Management: Publishing, editing, and analytics
- Media Upload: Cloudinary integration for images/videos
- Student Analytics: Track progress and engagement
- Course Discovery: AI-powered recommendations
- Interactive Learning: Video lessons, rich text content
- AI Tutoring: Context-aware chatbot assistance
- Adaptive Quizzes: Dynamic assessments with explanations
- BiNotes Sharing: Upload and share study materials
- Progress Tracking: Streaks, BiPoints, certificates
- Smart Onboarding: Personalized learning path setup
- RAG System: Course-specific knowledge retrieval
- Adaptive Quizzes: Dynamic question generation
- Content Summarization: Auto-generated flashcards
- Smart Tutoring: Contextual hints and explanations
- Personalized Recommendations: ML-based course suggestions
{
uid: string, // Firebase Auth UID
email: string, // User email
firstName: string, // First name
lastName: string, // Last name
user_type: string, // "is_admin" | "is_teacher" | "is_student"
bipoints: number, // Reward currency
profilePictureUrl: string, // Cloudinary URL
createdAt: timestamp,
updatedAt: timestamp
}{
id: string, // Course ID
userId: string, // Creator's UID
title: string, // Course title
description: string, // Rich text description
category: string, // Course category
difficultyLevel: string, // "beginner" | "intermediate" | "advanced"
heroImageUrl: string, // Cloudinary URL
tags: array, // Searchable keywords
bipointsCost: number, // Enrollment cost
published: boolean, // Publication status
createdAt: timestamp,
updatedAt: timestamp
}// Chapters
{
id: string,
courseId: string, // Parent course
title: string,
order: number, // Display order
createdAt: timestamp
}
// Lessons
{
id: string,
chapterId: string, // Parent chapter
courseId: string, // For easier querying
title: string,
type: string, // "text" | "video" | "quiz"
content: string, // Rich text content
videoUrl: string, // YouTube URL
order: number,
createdAt: timestamp
}- Node.js 18+ and npm/yarn
- Python 3.9+
- Android Studio (for mobile development)
- Firebase project
- Cloudinary account
- Pinecone account
- Groq API key
git clone https://github.com/InterAsianHack025/Debug-Dynasty.git
cd Debug-Dynastycd frontend
npm install
cp .env.example .env.local
# Add Firebase, Cloudinary configs
npm run devcd teach-frontend
npm install
cp .env.example .env.local
# Add Firebase, Cloudinary configs
npm run devcd backend
pip install -r requirements.txt
cp .env.example .env
# Add API keys: GROQ_API_KEY, PINECONE_API_KEY, etc.
uvicorn main:app --reloadcd android
# Open in Android Studio
# Add google-services.json
# Build and runNEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloud_name
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000GROQ_API_KEY=your_groq_api_key
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_ENVIRONMENT=your_environment
FIREBASE_TYPE=service_account
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_PRIVATE_KEY_ID=your_key_id
FIREBASE_PRIVATE_KEY=your_private_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_secretPOST /generate-certificate
Content-Type: application/json
{
"userId": "user_id",
"courseId": "course_id",
"studentName": "John Doe",
"courseName": "Python Basics"
}POST /lesson_query
Content-Type: application/json
{
"courseId": "course_id",
"query": "Explain variables in Python",
"highlightedText": "def variable = 5",
"lessonContext": "Python fundamentals lesson"
}POST /generate-quiz
Content-Type: application/json
{
"courseId": "course_id",
"difficulty": "medium",
"questionCount": 10
}POST /vectorize-course/{course_id}- Course Completion: 50-200 BiPoints
- Quiz Success: 10-50 BiPoints
- Daily Streak: 5-25 BiPoints
- BiNotes Sharing: 10-30 BiPoints
- Peer Helping: 15-40 BiPoints
- Course Enrollment: 20-500 BiPoints
- Premium Features: 10-100 BiPoints
- Certificate Generation: 25 BiPoints
- AI Tutoring: 5 BiPoints per query
- ✅ Browse and enroll in courses
- ✅ Access AI tutoring and quizzes
- ✅ Upload BiNotes and earn BiPoints
- ✅ Generate completion certificates
- ❌ Create or manage courses
- ✅ Create and manage own courses
- ✅ Upload media and organize content
- ✅ View student analytics
- ✅ Access AI features for content creation
- ❌ Access admin panel
- ✅ Full course management access
- ✅ User management and analytics
- ✅ System configuration
- ✅ Content moderation
- ✅ Financial reporting
- Content Vectorization: Course content → embeddings
- Namespace Isolation: Each course = separate Pinecone namespace
- Semantic Search: Query → relevant content retrieval
- LLM Generation: Context + query → intelligent response
- User Context: Learning history → personalized answers
- Dynamic Generation: RAG-based question creation
- Difficulty Scaling: Performance-based question selection
- Explanation Generation: AI-powered answer explanations
- Progress Tracking: Adaptive learning path adjustments
- Onboarding Analysis: 4-question preference capture
- Behavior Tracking: Learning patterns and engagement
- Content Recommendations: ML-based course suggestions
- Path Optimization: Personalized learning sequences
- Native Kotlin Development: Smooth performance
- Firebase Integration: Cross-platform data sync
- Offline Support: Download content for offline access
- Push Notifications: Learning reminders and updates
- Responsive Design: Tablet and phone optimization
- MVVM Pattern: Clean architecture implementation
- Jetpack Compose: Modern UI toolkit
- Firebase SDK: Authentication and data services
- Retrofit: HTTP client for API communication
- Multi-modal AI (image + text questions)
- Advanced personalization algorithms
- Real-time collaboration features
- Voice-based interactions
- Student study groups
- Peer tutoring marketplace
- Live virtual classrooms
- Community-driven content
- Organization management
- Advanced analytics dashboard
- Custom branding options
- Integration APIs
- Achievement system
- Leaderboards and competitions
- NFT certificates
- BiPoints marketplace
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
- Frontend: ESLint + Prettier + TypeScript
- Backend: Black + isort + mypy
- Mobile: Kotlin coding conventions
- Documentation: Clear README updates
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Frontend Development: Pratik Joshi - Next.js + React specialists
- Backend Development: Biplov Gautam, Roshan Jaishi - FastAPI + AI/ML engineers
- Mobile Development: Dikshanta Chapagain - Android + Kotlin developers
- AI/ML Research: Biplov Gautam - RAG + LLM optimization team
- DevOps: Biplov Gautam - Firebase + Cloud infrastructure
- Firebase: Authentication and database services
- Cloudinary: Media storage and optimization
- Pinecone: Vector database for semantic search
- Groq: High-performance LLM inference
- Radix UI: Accessible component primitives
- TipTap: Extensible rich text editor
Built with ❤️ by Debug Dynasty Team
🌟 Star this repo if you find it helpful!