Learn Hub API

Welcome to the Learning Platform project! This platform is designed to facilitate online learning interactions between administrators, teachers, and students. With features like course enrollment, assignment submissions, automatic grading, and file uploading capabilities, it aims to provide a seamless educational experience.

Features

  • User Roles: The platform supports multiple user roles including admin, teacher, and student, each with their respective permissions and functionalities.
  • Course Management: Teachers can create courses, lessons, and lesson episodes, organizing the learning materials efficiently.
  • Assignment Submissions: Students can enroll in courses and submit assignments related to course lessons.
  • Automatic Grading: The system automatically grades courses based on students' assignment results, streamlining the evaluation process.
  • File Uploading: Users can upload various file types including Word documents, PDFs, and images in different contexts such as assignment submissions and course materials.
  • Authentication: JWT authentication and Google authentication via Passport.js in NestJS ensure secure access to the platform.
NestJS
Passportjs
Prisma
PostgreSQL