rp
All projects
Spring Boot

SkillNest — Full-Stack LMS

Production LMS with Spring Boot API, Admin console, Teacher studio, Student portal, and marketing landing — courses, live classes, quizzes, assignments, Razorpay, JWT refresh, and Resend email.

SkillNest — Full-Stack LMS screenshot 1

Live apps

Overview

SkillNest is an end-to-end Learning Management System by Elyvate Labs. A Spring Boot + MongoDB backend powers marketplace courses, curriculum outlines, live classes, quizzes, assignments, books, support, Razorpay payments, JWT access/refresh, Google Sign-In, and Resend (HTTPS) email for OTP on Render. Four frontends ship separately: Vite React landing, CoreUI admin, TailAdmin-based teacher studio (SkillNest-branded auth), and Chakra student portal — all wired to the same API with CORS from app_settings.

Highlights

  • ›One API, four production UIs — shared auth & settings in Mongo
  • ›SkillNest-branded login on admin + teacher (OTP + Google)
  • ›Test account admin@elyvatelabs.in with ADMIN + TEACHER + STUDENT access
  • ›No dummy/fake content — empty states when data is missing
  • ›Dynamic CORS from app_settings — Vercel origins managed without redeploy

Features

  • ✓Multi-role JWT auth — ADMIN / TEACHER / USER with email OTP + Google; silent refresh on all portals
  • ✓Admin analytics — signup/revenue trends with 7/30/90 day range and empty states
  • ✓Teacher course lifecycle — create/edit, thumbnails, curriculum reorder, live schedules, earnings
  • ✓Student learning — browse/enroll, video progress + resume, quiz timer auto-submit, books, payments
  • ✓Marketplace landing — featured courses, categories, public curriculum outline (no lesson leaks)
  • ✓Uploads everywhere — course media, books, KB sources, avatars via Upload controls
  • ✓Payments — Razorpay gateway; teacher earnings; student order history
  • ✓Live classes — schedules, exceptions, join URLs for students
  • ✓Email on Render free — Resend HTTPS API (SMTP ports blocked); OTP debug auto-fill for testing
  • ✓Deployed — API on Render Docker; Admin/Teacher/Student/Landing on Vercel

API endpoints

  • POST /api/auth/otp/request — Email OTP (optional debugCode in test mode)
  • POST /api/auth/otp/verify — JWT pair
  • POST /api/auth/refresh — Rotate access token
  • GET /api/marketplace/courses — Public course list
  • GET /api/marketplace/courses/{id}/curriculum-outline — Section titles + lesson counts
  • GET /api/admin/dashboard/analytics?days=30 — Trends & breakdowns
  • GET /api/health — Service health