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.
