Skip to content

Amar-Dev1/GGCourse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎓 GGCourse:

📌 1. Overview

GGCourse is a modern course platform (Mini implementaion for platforms like Coursera and Udemy) built to serve both students and instructors seamlessly. It offers a simple, smooth experience from signing up to completing a course.

  • 👨‍🏫 Instructors can create, structure, and publish courses.
  • 👨‍🎓 Students can explore, enroll, and review top-rated courses based on filters and community feedback.

The platform empowers educators to share knowledge while enabling learners to achieve their goals effectively.


🔁 2. User Flow

👨‍🎓 Student

  1. 🔐 Sign in to the platform
  2. 🔍 Search for a course using filters or browse top-reviewed courses
  3. ✅ Enroll in the selected course
  4. 📘 Progress through lessons and sections
  5. 📝 Leave a review after completing the course
  6. 🏁 The course is automatically marked as completed when all sections are done

👨‍🏫 Instructor

  1. 🔐 Sign in to the platform
  2. 🏗️ Start building a course by creating lessons and organizing them into sections
  3. 🚀 Publish the course when it's ready
  4. 🔎 The course becomes visible to students in the search

⚙️ 3. Key Features

  • 🔐 JWT Authentication using Passport (NestJS strategy)
  • ⚖️ Role-Based Access Control (Student / Instructor)
  • 📚 Pagination, Filtering, and Ordering on course listings
  • 🔎 Full-Text Search support for finding courses
  • 📈 Rate Limiting to protect sensitive or high-traffic endpoints
  • 📦 RESTful API Design with standardized response formatting
  • 🧩 Lesson-to-Section-to-Course Completion Cascade
  • 🗃️ Enrollment Tracking with automatic course completion updates
  • 🌟 Course Review System allowing students to rate and review completed courses

🧰 5. Tech Stack

  • 🧠 Main Language: TypeScript
  • 🚀 Backend Framework: NestJS
  • 🔗 API Type: RESTful APIs
  • 🗄️ Database & ORM: PostgresSQL + Prisma
  • 🐳 Containerization: Docker
  • 🧾 API Documentation: Swagger UI

📡 4. API Endpoints

You can explore the complete list of API endpoints for GGCourse via Swagger:


API

💡 Ideas in mind:

  • Improve auth strategies (oauth, ...etc)
  • Implement email notifications for enrollment, course publishing, and completion.
  • Utilizing caching to improve search and listing performance at scale.

About

A Scalable System for GGCourse , a mini platform inspired by Coursera and Udemy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors