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

ShailjaVerma18/Learning-Management-System-Nalanda-Open-University-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Learning Management System πŸ“š

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

🌐 Live Demo Β· πŸ› Report a Bug Β· ✨ Request a Feature

Stars License Forks


πŸ“Έ Application Screenshots

Home Page

Home Page

Courses Catalog

Courses Page

Admin App

Admin App

Student App

Student App

About Us

About Page

Services

Services


🌟 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
  • πŸ“Š Advanced Analytics Dashboard: Real-time insights into platform activities, user engagement, and academic performance
  • πŸ€– AI-Powered Chatbot: Intelligent assistant for instant student support and query resolution
  • πŸ’¬ Discussion Forums: Interactive platform for collaborative learning and peer discussions
  • πŸ“’ News & Events Management: Centralized system for announcements and institutional updates
  • πŸ“‹ Feedback & Complaints System: Structured channels for student feedback and grievance management
  • πŸ” Smart Search: Advanced search functionality for quick resource discovery
  • πŸ” 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 and enterprise-grade PostgreSQL database:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend      │────│   Django App    │────│   Database      β”‚
β”‚   (Templates)   β”‚    β”‚   (Views/URLs)  β”‚    β”‚   (PostgreSQL)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
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. Interactive Learning: Students participate in discussion forums and engage with AI-powered support
  6. Feedback Loop: Integrated feedback, complaints, and enquiry management system
  7. Assessment & Feedback: Comprehensive grading system with feedback mechanisms
  8. Analytics Dashboard: Real-time insights into learning metrics, system usage, and institutional performance

πŸš€ 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 PostgreSQL Enterprise-Grade Reliability. Robust, scalable RDBMS with advanced features for handling complex academic data and concurrent users.
UI Framework Bootstrap/Custom CSS Responsive Design. Mobile-first approach with consistent, professional styling across the platform.
AI Integration Custom AI Chatbot Intelligent Support. Automated student assistance for enhanced user experience and reduced support workload.
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
β”‚   β”œβ”€β”€ admin_app/           # Admin dashboard & analytics
β”‚   β”‚   β”œβ”€β”€ views.py         # Analytics, student management
β”‚   β”‚   β”œβ”€β”€ models.py        # Study materials, news & events
β”‚   β”‚   └── templates/       # Admin interface templates
β”‚   β”œβ”€β”€ student_app/         # Student portal
β”‚   β”‚   β”œβ”€β”€ views.py         # Dashboard, discussions, feedback
β”‚   β”‚   β”œβ”€β”€ models.py        # Complaints, enquiries, profile
β”‚   β”‚   └── templates/       # Student interface templates
β”‚   β”œβ”€β”€ courses/             # Course management system
β”‚   β”œβ”€β”€ assignments/         # Assignment & submission handling
β”‚   β”œβ”€β”€ grades/              # Grading & assessment system
β”‚   └── chatbot/             # AI chatbot integration
β”œβ”€β”€ static/                  # Static files (CSS, JS, images)
β”‚   β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ js/
β”‚   └── images/
β”œβ”€β”€ templates/               # HTML templates
β”‚   β”œβ”€β”€ base.html            # Base template
β”‚   β”œβ”€β”€ home.html            # Home page with search & AI bot
β”‚   β”œβ”€β”€ accounts/
β”‚   β”œβ”€β”€ courses/
β”‚   └── dashboard/
β”œβ”€β”€ media/                   # User uploaded files & study materials
β”œβ”€β”€ 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. PostgreSQL 12+: Download PostgreSQL
  3. Git: Install Git
  4. 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:

    Create PostgreSQL Database:

    # Access PostgreSQL
    psql -U postgres
    
    # Create database
    CREATE DATABASE lms_nalanda;
    CREATE USER lms_user WITH PASSWORD 'your_password';
    GRANT ALL PRIVILEGES ON DATABASE lms_nalanda TO lms_user;
    \q

    Configure Database in settings.py:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'lms_nalanda',
            'USER': 'lms_user',
            'PASSWORD': 'your_password',
            'HOST': 'localhost',
            'PORT': '5432',
        }
    }
  5. Run Migrations:

    python manage.py makemigrations
    python manage.py migrate
  6. Create Superuser:

    python manage.py createsuperuser
  7. Collect Static Files:

    python manage.py collectstatic
  8. Run the Development Server:

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

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

πŸ“‹ Key Features Breakdown

🏠 Home Page Features

  • Advanced Search Bar: Quick search across courses, materials, and resources
  • AI Chatbot: Intelligent virtual assistant for instant help and guidance
  • About Section: Comprehensive information about Nalanda Open University
  • Courses Catalog: Browse and explore available courses
  • Services Overview: Detailed information about platform capabilities
  • Resources Library: Access to educational materials and documentation
  • User Authentication: Secure login and registration system
  • Contact Us: Multiple channels for communication and support

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

  • Personalized Dashboard: Overview of enrolled courses, assignments, and progress
  • Discussion Forums: Engage in course-specific and general academic discussions
  • Feedback & Complaints: Submit feedback and raise complaints with tracking system
  • News & Announcements: Stay updated with latest institutional news and events
  • My Enquiries: Track and manage submitted enquiries and their responses
  • Profile Management: View and update personal information and academic details
  • Course Enrollment: Browse and enroll in available courses
  • Assignment Submission: Upload and manage assignment submissions
  • Grade Tracking: View grades and feedback from instructors
  • Resource Access: Download course materials and study 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
  • Discussion Moderation: Monitor and participate in course discussions

πŸ”§ Admin Module

Analytics Dashboard

  • Activity Monitoring: Real-time tracking of platform usage and user activities
  • Performance Metrics: Comprehensive analytics on academic performance and engagement
  • System Health: Monitor platform performance and resource utilization
  • User Statistics: Detailed insights into student and faculty activities

Management Features

  • Student Management: Complete CRUD operations for student records
    • Add, edit, view, and delete student accounts
    • Manage student enrollments and academic data
    • Track student performance and engagement
  • Course Administration: Oversee all courses and enrollments
    • Create, modify, and delete courses
    • Manage course content and materials
    • Handle course assignments and faculty allocation
  • Study Material Management: Upload, organize, and manage educational resources
    • Upload documents, videos, and multimedia content
    • Categorize materials by subject and course
    • Control access permissions and availability
  • Academic Data Management: Maintain and update institutional academic information
    • Manage semester schedules and academic calendars
    • Handle examination data and results
    • Maintain academic policies and guidelines

Communication & Content

  • News & Events Management: Full CRUD functionality for institutional updates
    • Create and publish news articles and announcements
    • Schedule and manage upcoming events
    • Edit and delete outdated information
    • Categorize content by importance and audience
  • Feedback Management: View and respond to student feedback
  • Complaints Handling: Monitor and resolve student complaints
  • Enquiry Management: Review and respond to student enquiries

System Administration

  • User Management: Manage student and faculty accounts
  • Content Moderation: Review and approve course content
  • System Configuration: Manage platform settings and features
  • Access Control: Configure role-based permissions and privileges

🌐 Platform Highlights

Advanced Analytics

The admin dashboard provides comprehensive analytics covering:

  • User engagement metrics and activity logs
  • Course completion rates and student performance trends
  • System usage patterns and resource utilization
  • Real-time monitoring of platform activities
  • Customizable reports for institutional decision-making

Communication Ecosystem

  • Announcements System: Broadcast important updates to all users
  • Discussion Forums: Foster collaborative learning environment
  • Feedback Loop: Continuous improvement through structured feedback
  • Enquiry Management: Streamlined query resolution system
  • Complaint Tracking: Transparent grievance redressal mechanism

Content Management

  • Study Materials: Centralized repository for all educational resources
  • Course Resources: Organized materials by course and subject
  • Multimedia Support: Handle documents, videos, presentations, and more
  • Version Control: Track and manage content updates
  • Access Management: Role-based content visibility and permissions

🀝 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.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 19