A complete Learning Management System built with Python and Django featuring four user roles, live analytics dashboard, course registration, quizzes, GPA and CGPA calculation, PDF result sheets, and Razorpay online fee payment.
Learning Management System With Django is a complete web-based education and e-learning application developed using Python 3.13 and Django 4.2. The system brings student management, course registration, learning materials, quizzes, results, GPA and CGPA calculation, analytics, and online fee payments together in a single platform.
The application includes four user roles with role-based access control. Administrators can manage programmes, courses, sessions, users, and system information. Lecturers can upload learning materials, create quizzes, enter marks, and generate result sheets. Students can register for courses, attempt quizzes, view results, calculate GPA and CGPA, and pay fees online through Razorpay.
| Technology | Details |
|---|---|
| Programming Language | Python 3.13 |
| Framework | Django 4.2 |
| Frontend | Bootstrap 5, HTML5, Custom CSS |
| Charts | Chart.js |
| Database | SQLite, PostgreSQL, MySQL |
| Forms | django-crispy-forms, django-filter |
| Reporting | ReportLab, xhtml2pdf |
| Payment | Razorpay Python SDK |
| Translation | django-modeltranslation |
| API | Django REST Framework |
| Static Files | WhiteNoise |
The system begins by setting the academic session and semester. Administrators create programmes and courses, while students and lecturers are onboarded with generated credentials. Courses are allocated to lecturers, who can then upload learning materials, create quizzes, and enter marks.
Students register for courses according to their programme and active semester. They can access learning materials, attempt quizzes, and view their results. The system calculates grades, GPA, and CGPA from the recorded scores. For fees, students can make online payments through Razorpay, after which the verified payment is recorded and a PDF receipt becomes available.
This project covers several important software development concepts in one application, including authentication, Django ORM relationships, file uploads, PDF generation, REST APIs, quizzes, result processing, GPA and CGPA calculation, and payment gateway integration. Its modular architecture also makes it suitable for academic demonstrations and viva presentations.
Prerequisites: - Python 3.10 or newer - Pip - VS Code or PyCharm Step 1: Create Virtual Environment python -m venv venv Windows: venv\Scripts\activate macOS/Linux: source venv/bin/activate Step 2: Install Dependencies pip install -r requirements.txt Step 3: Configure Environment Variables Create a .env file in the project root: DEBUG=True SECRET_KEY=your-secret-key-here ALLOWED_HOSTS=127.0.0.1,localhost EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend RAZORPAY_KEY_ID= RAZORPAY_KEY_SECRET= PAYMENT_CURRENCY=INR Leave Razorpay keys blank if online payment is not required. Step 4: Apply Migrations python manage.py migrate Step 5: Create Admin Account python manage.py createsuperuser Step 6: Run Development Server python manage.py runserver Step 7: Open the Application http://127.0.0.1:8000 Sign in using the superuser account created above.
FAQ for this project coming soon.
No reviews yet. Be the first to review!