Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Learning Management System (LMS) – Django Implementation

📖 Overview

This is a Learning Management System (LMS) built with Django and Django REST Framework.
It provides APIs and backend functionality for managing administrators, instructors, students, courses, assignments, materials, and submissions.


🚀 Features Implemented

👤 User Roles & Authentication

  • Custom User model with roles:
    • Admin
    • Instructor
    • Student
  • Role-based access using custom DRF permissions.

📚 Course Management

  • Admin can:
    • Create courses with title, description, and prerequisites.
    • Assign instructors to courses.
  • Instructors can:
    • Upload course materials.
    • Create assignments.
  • Students can:
    • Enroll in courses.
    • Access materials.
    • Submit assignments.

📂 File Uploads

  • Support for file uploads in assignment submissions.
  • Files stored in the /media directory.

🔗 REST API Endpoints

  • CRUD endpoints for:
    • Users
    • Courses
    • Enrollments
    • Course Materials
    • Assignments
    • Submissions
  • Role-based access control for each resource.

🛠 Tech Stack

  • Backend: Django 3.x, Django REST Framework
  • Database: PostgreSQL
  • Auth: Django built-in authentication
  • Storage: Media files served locally in development

📁 Project Structure

lms_project/ │ ├── accounts_app/ │ ├── models.py # Custom user model, courses, enrollments, materials, assignments, submissions │ ├── serializers.py # DRF serializers │ ├── views.py # DRF viewsets │ ├── urls.py # API routing │ ├── permissions.py # Role-based permissions │ ├── lms_project/ │ ├── settings.py # Project configuration │ ├── urls.py # Global URLs │ ├── media/ # Uploaded files ├── requirements.txt └── manage.py

About

This is a Learning Management System (LMS) built with **Django** and **Django REST Framework**. It provides APIs and backend functionality for managing administrators, instructors, students, courses, assignments, materials, and submissions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages