Skip to content

narasimha-146/SkillSphere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SkillSphere – Online Learning Platform**

A full-stack online learning platform inspired by Udemy, Coursera, and Skillshare, built using React, Node.js, Express, Supabase, and Stripe. Users can enroll in courses, watch lessons, track progress, take quizzes, and download certificates.


Features

Authentication

  • Signup & Login with Supabase Auth
  • JWT secured sessions
  • Role-based (Student / Instructor) ready

Courses System

  • Browse courses
  • Course details page
  • Instructor name, price, description
  • Thumbnail image support

Lessons & Video Playback

  • Each course contains multiple lessons
  • YouTube embedded videos
  • Auto-next lesson on completion
  • Custom video player with progress tracking

Progress Tracking

  • Automatically updates progress after each lesson
  • Progress bar for each course
  • Completes at 100%

Quiz Module

  • Course-wise quizzes
  • Auto scoring
  • Pass/fail logic

Certificate Generation

  • Auto-issue on course completion
  • User can enter name
  • Confetti celebration
  • Downloadable PDF certificate

Payments (Stripe)

  • One-time payments using Stripe Checkout
  • Test-mode supported
  • Pending β†’ Paid update via webhook
  • Enrollments stored in Supabase

Admin / Instructor Ready

  • API ready for course creation
  • Add lessons via backend
  • Add quizzes per course

UI & UX

  • Tailwind CSS
  • Modern color theme (pink, blue, yellow, white)
  • Fully responsive
  • Professional navbar + footer

Tech Stack

Frontend

  • React + Vite
  • React Router
  • Axios
  • Tailwind CSS

Backend

  • Node.js
  • Express.js
  • Supabase (DB + Auth + Storage)
  • Stripe Payments

Database (Supabase Tables)

  • profiles
  • courses
  • lessons
  • quizzes
  • progress
  • enrollments
  • certificates

πŸ“‚ Project Structure

online-learning-platform/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ config/supabaseClient.js
β”‚   β”œβ”€β”€ package.json
β”‚   └── .env
β”‚
└── frontend/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ components/
    β”‚   β”‚   β”œβ”€β”€ Navbar.jsx
    β”‚   β”‚   β”œβ”€β”€ Footer.jsx
    β”‚   β”‚   β”œβ”€β”€ StripeButton.jsx
    β”‚   β”‚   β”œβ”€β”€ CourseCard.jsx
    β”‚   β”‚   β”œβ”€β”€ ProtectedRoute.jsx
    β”‚   β”‚   └── ProgressBar.jsx
    β”‚   β”‚
    β”‚   β”œβ”€β”€ pages/
    β”‚   β”‚   β”œβ”€β”€ Home.jsx
    β”‚   β”‚   β”œβ”€β”€ Courses.jsx
    β”‚   β”‚   β”œβ”€β”€ CourseDetails.jsx
    β”‚   β”‚   β”œβ”€β”€ CoursePlayer.jsx
    β”‚   β”‚   β”œβ”€β”€ QuizPage.jsx
    β”‚   β”‚   β”œβ”€β”€ MyCourses.jsx
    β”‚   β”‚   β”œβ”€β”€ Certificate.jsx
    β”‚   β”‚   β”œβ”€β”€ Login.jsx
    β”‚   β”‚   β”œβ”€β”€ Signup.jsx
    β”‚   β”‚   β”œβ”€β”€ Instructors.jsx
    β”‚   β”‚   └── About.jsx
    β”‚   β”‚
    β”‚   β”œβ”€β”€ App.jsx
    β”‚   β”œβ”€β”€ main.jsx
    β”‚   β”œβ”€β”€ index.css
    β”‚   └── App.css
    β”‚
    β”œβ”€β”€ package.json
    └── vite.config.js

Backend Setup

Install dependencies

cd backend
npm install

Add your .env

SUPABASE_URL=your_url
SUPABASE_KEY=public_key
SUPABASE_SERVICE_ROLE=service_key
STRIPE_SECRET_KEY=sk_test_xxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxx
FRONTEND_URL=http://localhost:5173

Run backend

npm start

Frontend Setup

Install dependencies

cd frontend
npm install

Run frontend

npm run dev

Testing Stripe Webhook**

Run:

stripe listen --forward-to localhost:5000/stripe/webhook

Simulate payment:

stripe trigger checkout.session.completed

Deployment

Frontend

Deploy on Vercel

Backend

Deploy on Render

Database

Supabase is already hosted automatically.

Author

SkillSphere – Learning Platform** Built with ❀️ by Narasimha

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages