A comprehensive Django-based Learning Management System built for Nalanda Open University to streamline educational workflows.
.
π 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
- π 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
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
- 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
- Assessment & Feedback: Integrated grading system with feedback mechanisms
- Analytics Dashboard: Real-time insights into learning metrics and system usage
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
Simple setup process to get your LMS running locally in minutes.
- Python 3.8+: Download Python
- 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:
python manage.py makemigrations python manage.py migrate
-
Create Superuser (Optional):
python manage.py createsuperuser
-
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:
- 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
- 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
- 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
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: shailjaverma18@example.com
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