Skip to content

Full-stack LMS built with Python and Django, inspired by Nalanda Open University's portal. Includes role-based access (Admin, Faculty, Student), course and content management, file uploads, assignments, and session-based authentication.

License

Notifications You must be signed in to change notification settings

SwetakshiMishra/Learning-Management-System-Nalanda-Open-University-Updated

Β 
Β 

Repository files navigation

Learning Management System πŸ“š

A comprehensive Django-based Learning Management System built for Nalanda Open University to streamline educational workflows.

. πŸ› Report a Bug Β· ✨ Request a Feature

Stars License Forks


🌟 The Mission: Empowering Digital Education

Educational institutions need robust, scalable platforms to manage their learning processes effectively. Traditional LMS solutions are often expensive, inflexible, or require extensive customization.

This Learning Management System changes that.

Built specifically for Nalanda Open University, this platform provides a complete, feature-rich solution for managing educational workflows. It's designed with modern web technologies, ensuring scalability, maintainability, and an excellent user experience for both students and faculty.

πŸ”₯ Core Features

  • πŸ‘₯ Multi-Role Management: Separate dashboards and permissions for students, faculty, and administrators
  • πŸ“– Course Management: Create, organize, and manage courses with multimedia content support
  • 🎯 Assignment System: Comprehensive assignment creation, submission, and grading workflows
  • πŸ“Š Progress Tracking: Real-time analytics and progress monitoring for students and instructors
  • πŸ” Secure Authentication: Robust user registration, login, and session management
  • πŸ“± Responsive Design: Mobile-first approach ensuring accessibility across all devices
  • ⚑ Performance Optimized: Built with Django's best practices for speed and reliability

πŸ—οΈ System Architecture

The platform follows Django's MVT (Model-View-Template) architecture with a clean separation of concerns:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend      │────│   Django App    │────│   Database      β”‚
β”‚   (Templates)   β”‚    β”‚   (Views/URLs)  β”‚    β”‚   (SQLite)      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Click to explore the detailed system workflow

User Journey Flow

  1. Authentication Layer: Users authenticate through Django's built-in authentication system with custom user models
  2. Role-Based Routing: The system routes users to appropriate dashboards based on their roles (Student/Faculty/Admin)
  3. Course Management: Faculty can create courses, upload materials, and manage enrollments
  4. Student Learning Path: Students can enroll in courses, access materials, submit assignments, and track progress
  5. Assessment & Feedback: Integrated grading system with feedback mechanisms
  6. Analytics Dashboard: Real-time insights into learning metrics and system usage

πŸš€ The Tech Stack: Modern & Reliable

Every technology choice prioritizes developer experience, performance, and educational sector requirements.

Component Technology Why We Chose It
Backend Python & Django Rapid Development. Django's "batteries included" philosophy accelerates development while maintaining security and scalability.
Frontend HTML5, CSS3 & JavaScript Universal Compatibility. Clean, semantic markup with progressive enhancement ensures accessibility across all devices and browsers.
Database SQLite Simplicity & Portability. Perfect for development and small to medium deployments. Easy migration to PostgreSQL for scale.
Authentication Django Auth Security First. Built-in user management, password hashing, and session handling with CSRF protection.
UI Framework Bootstrap/Custom CSS Responsive Design. Mobile-first approach with consistent, professional styling across the platform.
Explore the Project Directory Structure
lms/
β”œβ”€β”€ lms_project/              # Main Django project settings
β”‚   β”œβ”€β”€ settings.py           # Configuration settings
β”‚   β”œβ”€β”€ urls.py              # URL routing
β”‚   └── wsgi.py              # WSGI configuration
β”œβ”€β”€ apps/                    # Django applications
β”‚   β”œβ”€β”€ accounts/            # User management & authentication
β”‚   β”œβ”€β”€ courses/             # Course management system
β”‚   β”œβ”€β”€ assignments/         # Assignment & submission handling
β”‚   β”œβ”€β”€ grades/              # Grading & assessment system
β”‚   └── dashboard/           # User dashboards
β”œβ”€β”€ static/                  # Static files (CSS, JS, images)
β”‚   β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ js/
β”‚   └── images/
β”œβ”€β”€ templates/               # HTML templates
β”‚   β”œβ”€β”€ base.html            # Base template
β”‚   β”œβ”€β”€ accounts/
β”‚   β”œβ”€β”€ courses/
β”‚   └── dashboard/
β”œβ”€β”€ media/                   # User uploaded files
β”œβ”€β”€ requirements.txt         # Python dependencies
└── manage.py               # Django management script

πŸ› οΈ Getting Started

Simple setup process to get your LMS running locally in minutes.

Prerequisites

  1. Python 3.8+: Download Python
  2. Git: Install Git
  3. Virtual Environment: (Recommended for dependency isolation)

Installation & Setup

  1. Clone the Repository:

    git clone https://github.com/ShailjaVerma18/Learning-Management-System-Nalanda-Open-University-.git
    cd Learning-Management-System-Nalanda-Open-University-
  2. Create & Activate Virtual Environment:

    # On Windows
    python -m venv venv
    venv\Scripts\activate
    
    # On macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
  3. Install Dependencies:

    pip install -r requirements.txt
  4. Database Setup:

    python manage.py makemigrations
    python manage.py migrate
  5. Create Superuser (Optional):

    python manage.py createsuperuser
  6. Run the Development Server:

    python manage.py runserver
  7. πŸŽ‰ Access Your LMS:

    • Main Application: http://127.0.0.1:8000
    • Admin Panel: http://127.0.0.1:8000/admin

πŸ“‹ Key Features Breakdown

πŸ‘¨β€πŸŽ“ Student Module

  • Course Enrollment: Browse and enroll in available courses
  • Learning Dashboard: Track progress and upcoming assignments
  • Assignment Submission: Upload and manage assignment submissions
  • Grade Tracking: View grades and feedback from instructors
  • Resource Access: Download course materials and resources

πŸ‘©β€πŸ« Faculty Module

  • Course Creation: Build comprehensive course structures
  • Content Management: Upload lectures, readings, and multimedia
  • Assignment Management: Create, distribute, and grade assignments
  • Student Monitoring: Track student progress and engagement
  • Grade Management: Record and manage student assessments

πŸ”§ Admin Module

  • User Management: Manage student and faculty accounts
  • Course Administration: Oversee all courses and enrollments
  • System Analytics: Monitor platform usage and performance
  • Content Moderation: Review and approve course content
  • System Configuration: Manage platform settings and features

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

  1. Fork the Repository
  2. Create a Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit Your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please read our Contributing Guidelines before submitting contributions.


πŸ“§ Support & Contact


🌟 Contributors

Thanks to these wonderful people who have contributed to this project:


πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❀️ By Shailja Verma

Empowering education through technology

⬆️ Back to Top

About

Full-stack LMS built with Python and Django, inspired by Nalanda Open University's portal. Includes role-based access (Admin, Faculty, Student), course and content management, file uploads, assignments, and session-based authentication.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 39.7%
  • JavaScript 26.9%
  • HTML 20.2%
  • SCSS 9.7%
  • Python 3.5%