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