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.
- π Sign in to the platform
- π Search for a course using filters or browse top-reviewed courses
- β Enroll in the selected course
- π Progress through lessons and sections
- π Leave a review after completing the course
- π The course is automatically marked as completed when all sections are done
- π Sign in to the platform
- ποΈ Start building a course by creating lessons and organizing them into sections
- π Publish the course when it's ready
- π The course becomes visible to students in the search
- π 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
- π§ Main Language: TypeScript
- π Backend Framework: NestJS
- π API Type: RESTful APIs
- ποΈ Database & ORM: PostgresSQL + Prisma
- π³ Containerization: Docker
- π§Ύ API Documentation: Swagger UI
You can explore the complete list of API endpoints for GGCourse via Swagger:
- Improve auth strategies (oauth, ...etc)
- Implement email notifications for enrollment, course publishing, and completion.
- Utilizing caching to improve search and listing performance at scale.
