Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/frappe/lms

Easy to Use, 100% Open Source Learning Management System
https://github.com/frappe/lms

courses-management-system education frappe javascript learning learning-management-system lms online-learning open-source python

Last synced: about 1 month ago
JSON representation

Easy to Use, 100% Open Source Learning Management System

Lists

README

        



Frappe LMS

Easy to use, open source, learning management system.

ย 


Frappe LMS - Easy to use, 100% open source learning management system | Product Hunt





ย 



cypress


license

Lesson

Show more screenshots
ss1
ss2
ss3

Frappe LMS is an easy-to-use, open-source learning management system. You can use it to create and share online courses. The app has a clear UI that helps students focus only on what's important and assists in distraction-free learning.

You can create courses and lessons through simple forms. Lessons can be in the form of text, videos, quizzes or a combination of all these. You can keep your students engaged with quizzes to help revise and test the concepts learned. Course Instructors and Students can reach out to each other through the discussions section available for each lesson and get queries resolved.

## Features
- Create online courses. ๐Ÿ“š
- Add detailed descriptions and preview videos to the course. ๐ŸŽฌ
- Add videos, quizzes, and assignments to your lessons and make them interesting and interactive ๐Ÿ“
- Discussions section below each lesson where instructors and students can interact with each other. ๐Ÿ’ฌ
- Create batches to group your students based on courses and track their progress ๐Ÿ›
- Statistics dashboard that provides all important numbers at a glimpse. ๐Ÿ“ˆ
- Job Board where users can post and look for jobs. ๐Ÿ’ผ
- People directory with each person's profile page ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ
- Set cover image, profile photo, short bio, and other professional information. ๐Ÿฆน๐Ÿผโ€โ™€๏ธ
- Simple layout that optimizes readability ๐Ÿค“
- Delightful user experience in overall usage โœจ

## Tech Stack

Frappe LMS is built on [Frappe Framework](https://frappeframework.com) which is a batteries-included python web framework.
These are some of the tools it's built on:
- [Python](https://www.python.org)
- [Redis](https://redis.io/)
- [MariaDB](https://mariadb.org/)
- [Socket.io](https://socket.io/)

## Local Setup

### Docker
You need Docker, docker-compose, and git setup on your machine. Refer to [Docker documentation](https://docs.docker.com/). After that, run the following commands:
```
git clone https://github.com/frappe/lms
cd apps/lms/docker
docker-compose up
```

Wait for some time until the setup script creates a site. After that, you can access `http://localhost:8000` in your browser and the app's login screen should show up.

### Frappe Bench

Currently, this app depends on the `develop` branch of [frappe](https://github.com/frappe/frappe).

1. Setup frappe-bench by following [this guide](https://frappeframework.com/docs/v14/user/en/installation)
1. In the frappe-bench directory, run `bench start` and keep it running. Open a new terminal session and cd into the `frappe-bench` directory.
1. Run the following commands:
```sh
bench new-site lms.test
bench get-app lms
bench --site lms.test install-app lms
bench --site lms.test add-to-hosts

1. Now, you can access the site at `http://lms.test:8000`

## Deployment
Frappe LMS is an app built on top of the Frappe Framework. So, you can follow any deployment guide for hosting a Frappe Framework-based site.

### Managed Hosting
Frappe LMS can be deployed in a few clicks on [Frappe Cloud](https://frappecloud.com/marketplace/apps/lms).

### Self-hosting
If you want to self-host, you can follow official [Frappe Bench Installation](https://github.com/frappe/bench#installation) instructions.

## Bugs and Feature Requests
If you find any bugs or have a feature idea for the app, feel free to report them here on [GitHub Issues](https://github.com/frappe/lms/issues). Make sure you share enough information (app screenshots, browser console screenshots, stack traces, etc) for project maintainers.

## License
Distributed under [GNU AFFERO GENERAL PUBLIC LICENSE](license.txt)