# frappe/lms

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/frappe-lms).**

3,005 stars · 1,361 forks · Vue · AGPL-3.0

## Links

- GitHub: https://github.com/frappe/lms
- Homepage: https://frappe.io/learning
- awesome-repositories: https://awesome-repositories.com/repository/frappe-lms.md

## Topics

`courses-management-system` `education` `frappe` `hacktoberfest` `javascript` `learning` `learning-management-system` `lms` `online-course-platform` `online-learning` `open-source` `python`

## Description

This project is an open-source learning management system built as a web-based application on the Frappe framework. It provides a structured environment for creating, managing, and delivering educational curricula, allowing administrators to organize learning materials into hierarchies of courses, chapters, and lessons.

The platform is distinguished by its metadata-driven architecture, which defines application entities and database schemas through JSON-based definitions rather than hard-coded classes. This approach enables dynamic runtime customization of the user interface and data models, supported by an event-driven hook system that allows for functional extensions without modifying core code.

The system covers the full educational content lifecycle, including bulk data ingestion via spreadsheets, student progress assessment through quizzes and assignments, and the generation of formal credentials using server-side templates. It also integrates tools for live virtual classroom instruction, enabling educators to schedule sessions, manage attendance, and coordinate interactive teaching.

The platform includes automated scripts for consistent deployment across local, private, or cloud-based hosting environments.

## Tags

### Content Management & Publishing

- [Learning Management Platforms](https://awesome-repositories.com/f/content-management-publishing/content-management-systems/content-management-platforms/learning-management-platforms.md) — Provides a structured environment for organizing educational content into hierarchies of courses, chapters, and lessons.
- [Content Hierarchy Management](https://awesome-repositories.com/f/content-management-publishing/content-hierarchy-management.md) — Organizes learning materials into logical hierarchies of courses, chapters, and lessons. ([source](https://github.com/frappe/lms#readme))

### Education & Learning Resources

- [Course Material Managers](https://awesome-repositories.com/f/education-learning-resources/course-material-managers.md) — Organizes learning materials into structured hierarchies to deliver professional training programs.
- [Certification Programs](https://awesome-repositories.com/f/education-learning-resources/certification-programs.md) — Enables the evaluation of learner progress through quizzes and assignments with automated issuance of formal course completion credentials.
- [Course Creations](https://awesome-repositories.com/f/education-learning-resources/course-material-managers/course-shell-builders/course-lifecycle-management/course-cloning-and-bulk-operations/course-creations.md) — Enables definition of learning programs via metadata, pricing, and content through a web interface. ([source](https://docs.frappe.io/learning))
- [Bulk Import Utilities](https://awesome-repositories.com/f/education-learning-resources/educational-courses/bulk-import-utilities.md) — Supports bulk population of course catalogs using spreadsheet files to streamline setup. ([source](https://docs.frappe.io/learning))
- [Virtual Classroom Environments](https://awesome-repositories.com/f/education-learning-resources/educational-lessons/interactive-tutoring-activities/virtual-classroom-environments.md) — Coordinates real-time video sessions and manages attendance for interactive online teaching.
- [Credentialing Systems](https://awesome-repositories.com/f/education-learning-resources/educational-resources/courses-training-certifications/credentialing-systems.md) — Generates and awards formal credentials to learners upon course completion using customizable templates. ([source](https://github.com/frappe/lms#readme))
- [Live Interactive Learning Sessions](https://awesome-repositories.com/f/education-learning-resources/live-interactive-learning-sessions.md) — Facilitates real-time video instruction and tracks student attendance for interactive teaching. ([source](https://github.com/frappe/lms/blob/develop/README.md))
- [Open Source Study Tools](https://awesome-repositories.com/f/education-learning-resources/open-source-study-tools.md) — Offers an open-source platform for creating, managing, and delivering educational courses with integrated student assessment and tracking tools.

### Business & Productivity Software

- [Metadata-Driven Models](https://awesome-repositories.com/f/business-productivity-software/event-driven-business-logic/metadata-driven-models.md) — Defines application entities and database schemas through JSON-based metadata for dynamic runtime customization.

### Web Development

- [Python Backends](https://awesome-repositories.com/f/web-development/python-backends.md) — Handles business logic, authentication, and workflow orchestration on a centralized Python backend.

### Part of an Awesome List

- [Server-Side Form Generators](https://awesome-repositories.com/f/awesome-lists/devtools/forms-and-validation/server-side-form-generators.md) — Dynamically generates input forms and data views by interpreting metadata definitions at runtime.

### Data & Databases

- [Bulk Data Migrations](https://awesome-repositories.com/f/data-databases/data-import-and-export/bulk-data-migrations.md) — Imports large catalogs of course data using spreadsheet files for library setup.
- [Relational Database Persistence](https://awesome-repositories.com/f/data-databases/relational-database-persistence.md) — Persists application state and content hierarchies in a structured relational database.

### Development Tools & Productivity

- [Recurring Session Scheduling](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/system-integration-interfaces/automation-apis/scripting-apis/custom-logic-extensions/classroom-management-apis/recurring-session-scheduling.md) — Schedules live educational sessions and manages participant grouping and attendance. ([source](https://github.com/frappe/lms#readme))

### DevOps & Infrastructure

- [Self-Hosted Infrastructure](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-infrastructure.md) — Provides a self-hosted platform for managing educational infrastructure and data while retaining full control over the deployment environment.

### Security & Cryptography

- [Role-Based Access Control](https://awesome-repositories.com/f/security-cryptography/role-based-access-control.md) — Manages granular user permissions mapped to document types and field-level visibility.

### Software Engineering & Architecture

- [Event-Driven Hook Systems](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-hook-systems.md) — Triggers custom logic through a pluggable event-driven architecture without modifying core code.

### System Administration & Monitoring

- [Student Progress Trackers](https://awesome-repositories.com/f/system-administration-monitoring/activity-monitors/activity-progress-monitors/student-progress-trackers.md) — Evaluates student knowledge through quizzes and assignments with instructor grading tools. ([source](https://github.com/frappe/lms#readme))

### User Interface & Experience

- [Server-Side Template Engines](https://awesome-repositories.com/f/user-interface-experience/layout-utilities/presentation-engines/template-engines/server-side-rendering-engines/server-side-template-engines.md) — Generates dynamic documents and certificates by merging structured data into server-side HTML templates.
