A comprehensive Django-based Learning Management System built for Nalanda Open University to streamline educational workflows.
π Live Demo
Β·
π Report a Bug
Β·
β¨ Request a Feature
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.
- π₯ 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
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
- Authentication Layer: Users authenticate through Django's built-in authentication system with custom user models
- Role-Based Routing: The system routes users to appropriate dashboards based on their roles (Student/Faculty/Admin)
- Course Management: Faculty can create courses, upload materials, and manage enrollments
- Student Learning Path: Students can enroll in courses, access materials, submit assignments, and track progress
- Interactive Learning: Students participate in discussion forums and engage with AI-powered support
- Feedback Loop: Integrated feedback, complaints, and enquiry management system
- Assessment & Feedback: Comprehensive grading system with feedback mechanisms
- Analytics Dashboard: Real-time insights into learning metrics, system usage, and institutional performance
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
Simple setup process to get your LMS running locally in minutes.
- Python 3.8+: Download Python
- PostgreSQL 12+: Download PostgreSQL
- Git: Install Git
- Virtual Environment: (Recommended for dependency isolation)
-
Clone the Repository:
git clone https://github.com/ShailjaVerma18/Learning-Management-System-Nalanda-Open-University-.git cd Learning-Management-System-Nalanda-Open-University- -
Create & Activate Virtual Environment:
# On Windows python -m venv venv venv\Scripts\activate # On macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install Dependencies:
pip install -r requirements.txt
-
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', } }
-
Run Migrations:
python manage.py makemigrations python manage.py migrate
-
Create Superuser:
python manage.py createsuperuser
-
Collect Static Files:
python manage.py collectstatic
-
Run the Development Server:
python manage.py runserver
-
π Access Your LMS:
- Main Application:
http://127.0.0.1:8000 - Admin Panel:
http://127.0.0.1:8000/admin
- Main Application:
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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
- 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
- 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
We welcome contributions from the community! Here's how you can help:
- Fork the Repository
- Create a Feature Branch (
git checkout -b feature/AmazingFeature) - Commit Your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please read our Contributing Guidelines before submitting contributions.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
Thanks to these wonderful people who have contributed to this project:
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ By Shailja Verma
Empowering education through technology





