Documentation

This Django-based LMS/CMS application provides a robust platform for students and teachers to browse, enroll in courses, access video lessons, and complete assessments and quizzes.

Built with Django, the application leverages Django's powerful Model-View-Template (MVT) architecture to ensure a clean separation of concerns and maintainable code. A custom user model extends Django’s default AbstractUser to support distinct roles such as students, teachers, and admins, each with tailored profile information and permissions.

The user interface is enhanced using HTMX to provide seamless, dynamic, and partial page updates without full page reloads. This improves responsiveness and user experience by loading course content, dashboards, and detail views asynchronously.

Core Features

  • Custom user roles for students
  • Course browsing & enrollment with relational models.
  • HTMX integration for dynamic content loading.
  • Optimized queries using select_related.
  • Secure with Django’s auth and CSRF protection.
  • Modular templates for reusable UI components.
  • Scalable and ready for large user bases.
  • Easy to extend with new features.
  • Customizable layout and styles.

Features to Add

  • Custom user roles for students. Coming soon
  • Video lessons and quizzes for interactive learning. Coming soon
  • Course lessions have not yet been added yet and will be the other half of the Django app. Coming soon

This LMS/CMS serves as a flexible, maintainable foundation for educational platforms built on Django, combining modern frontend interactivity with a solid backend architecture.