Skip to content

This is a microservices-based online course platform developed using TypeScript, NestJS, and Next.js

Notifications You must be signed in to change notification settings

heryfitiavana22/ms-online-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ms-online-course

This is a microservices-based online course platform developed using TypeScript, NestJS, and Next.js. The backend services handle user authentication, course management, and enrollments, while the frontend is built with Next.js and shadcn/ui.

This project is a POC and is under development.

Demo

demo-ms-online-course.mp4

Features

  • User: authentification, role (student, instructor, admin).
  • Course: Instructors can create, update, and delete courses.
  • Enrollments: Students can enroll in courses.
  • Role Protection: Different routes are protected based on user roles.
  • Microservices Architecture: The backend is divided into microservices for scalability and maintainability.

Architecture

The platform is built using a microservices architecture with the following services:

  • Gateway: Acts as the entry point for the frontend and routes requests to the appropriate microservices.
  • Auth Service: Handles user authentication, authorization, and JWT management.
  • User Service: Manages user (student, instructor, admin).
  • Course Service: Manages course creation, updates, and deletion.
  • Enrollment Service: Manages student enrollments in courses.

Project Structure

ms-online-course/
│
├── backend/                    
│   ├── gateway/                
│   ├── auth/                   
│   ├── course/                 
│   ├── enrollment/             
│   ├── user/     
│   └── docker-compose.yml        
│
├── frontend/ 
│   ├── apps/  
│   │   ├── admin/                
│   │   ├── instructor/   
│   │   ├── client/   
│   ├── packages/  
│   │   ├── data-type/                
│   │   ├── repository/   
│   │   ├── ui/    
│   ├── pnpm-workspace.yaml    
│   └── turbo.json               

Technologies

  • Frontend:
    • Next.js
    • shadcn/ui
    • Tailwind
    • turborepo
  • Backend:
    • NestJS
    • Docker
    • @nestjs/microservices

About

This is a microservices-based online course platform developed using TypeScript, NestJS, and Next.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published