Overview
SkillRise is a modern e-learning platform that connects students with educators through an intuitive, feature-rich environment. Built with React, Node.js, and MongoDB, it provides a complete solution for online education with AI-powered learning assistance, payment processing, progress tracking, and community engagement.SkillRise supports three distinct user roles: Students (learners), Educators (course creators), and Admins (platform managers).
Key Features
AI-Powered Learning
Groq-powered chatbot for learning support and personalized roadmap generation using LLaMA models
Secure Payments
Integrated Stripe checkout with webhook-based order fulfillment
Progress Tracking
Real-time analytics with time tracking, course progress, and quiz performance insights
Community Features
Discussion groups, threaded posts, upvotes, and replies for collaborative learning
Platform Capabilities
For Students
- Course Catalog — Browse, search, and filter courses by category with real-time search
- Video Player — Chapter-based course player with automatic progress tracking
- AI Chat Assistant — Get instant answers and learning support powered by Groq’s LLaMA models
- Personalized Roadmaps — AI-generated learning paths based on your profile and goals
- Interactive Quizzes — Auto-generated chapter quizzes with detailed explanations
- Analytics Dashboard — Track time spent, courses completed, and quiz scores
- Community Engagement — Join groups, create posts, and participate in discussions
- Certificates — Earn PDF certificates upon course completion
- Dark Mode — Full dark/light theme with system preference detection
For Educators
- Course Builder — Create multi-chapter courses with rich text descriptions
- Media Management — Upload thumbnails and video content via Cloudinary integration
- Educator Dashboard — View enrollment statistics, revenue tracking, and student analytics
- Student Insights — See enrolled students per course with detailed engagement metrics
- Application System — Apply to become an educator through the platform
For Administrators
- Platform Analytics — Dashboard with comprehensive stats including revenue charts and enrollment trends
- Course Management — View all courses with educator info, enrollment counts, and revenue data
- User Management — Separate views for students and educators with enrollment and creation metrics
- Purchase History — Full transaction history with status filtering (Completed/Pending/Failed)
- Application Review — Approve or reject educator applications with optional feedback
Technology Stack
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS |
| Authentication | Clerk (with webhook sync) |
| Payments | Stripe (embedded checkout + webhooks) |
| Backend | Node.js, Express 5 |
| Database | MongoDB, Mongoose |
| AI | Groq SDK (LLaMA 3.3 70B) |
| Media Storage | Cloudinary |
| Containerization | Docker, Docker Compose |
| CI/CD | GitHub Actions |
Architecture Overview
SkillRise follows a modern microservices-inspired architecture with clear separation between frontend and backend:Database Schema
The platform uses MongoDB with Mongoose for data modeling. Here are the core models:API Architecture
The backend exposes RESTful APIs with role-based access control:server/server.js
Authentication & Authorization
SkillRise uses Clerk for authentication with custom middleware for role-based access:middlewares/authMiddleware.js
AI Integration
SkillRise leverages Groq’s LLaMA models for intelligent features:services/chatbot/aiChatbotService.js
Deployment Options
SkillRise supports multiple deployment strategies:Docker Compose (Recommended)
docker-compose.yml
CI/CD Pipeline
The platform includes GitHub Actions workflows for automated testing and deployment:-
Build Workflow (
.github/workflows/build.yml) — Runs on pull requests tomainordev- Frontend: ESLint, Prettier check, Vite build
- Backend: Prettier check, dependency audit
-
Deploy Workflow (
.github/workflows/deploy.yml) — Runs on push tomain- Builds Docker images for client and server
- Pushes to Docker Hub as
latesttags
Security Features
Rate Limiting
Granular rate limits per endpoint to prevent abuse and API cost overruns
Helmet.js
Security headers to protect against common web vulnerabilities
Webhook Verification
Cryptographic verification for Clerk and Stripe webhooks
Role-Based Access
Custom middleware enforcing strict role permissions