An open source learning management system intended for K-12 educational institutions
This web application was developed to simplify the sharing of educational resources between teachers, students, and parents for both inside and outside of classroom environments.
Teachers are able to create an account in the application and create courses that viewers can see on their webpage. The layout and navigation is simple enough for all age groups, and the courses have the following pre-made sections that teachers can view and edit:
- Syllabus
- Schedule
- Assignments
- Lecture Notes
- Class Notes
- Other Notes
Teachers can set the semester they are teaching, create multiple courses if needed, and archive the courses at the end of the semester to preserve all of their previous course information for future reference if needed.
In order to create this application and get it running on the internet, you would first need to create an account with one of the following cloud service providers if you haven't already and follow the appropriate instructions for it.
This table breaks down important information that would be needed in order to understand which cloud service provider would be ideal to fit your needs.
Cloud Service Provider | vCPUs | Memory (GiB) | Price | Setup Tutorial |
---|---|---|---|---|
Amazon Web Services (AWS) | 1 | 1 | $0.0116/hr | AWS Setup |
Digital Ocean | 1 | 1 | $5/mo or $0.007/hr | Digital Ocean Setup |
Note: Date information was updated 5/4/2020
Note: Some cloud service providers offer promotional offers when signing up and can help reduce the cost of running this application. The cheapest and most affordable services are used in the building and maintainance of this application. Anything else that could be used in the application (e.g domain name, SSL certificates) is not included here.
Once you have setup an account with the desired cloud service provider, click on the corresponding tutorial link to get started on deploying the application live.
Open-LMS-Blended was created using the MERN (MongoDB-Express-React.js-Node.js) stack, a free and open-source JavaScript software stack for creating single page applications.
Backend
-
Node.JS - Back End Scripting Language
-
Express - Web Application Framework for Node.js
-
Passport - Authentication Middleware for Node.js.
-
MongoDB - NoSQL Database
-
Mongoose - Object Data Modeling (ODM) library for MongoDB and Node.js
Frontend
- React.js - Javascript Library
- React Bootstrap - Bootstrap (CSS Library/Framework) for React.js
Others
Unit Testing
- Mocha - JavaScript Test Framework
- Chai - BDD / TDD Assertion Library
- Enzyme - JavaScript Testing Utility for React
Ubuntu Server Software
- PM2 - Production Process Manager for Node.js
- NGINIX - Web Server
- UFW - Program for Managing a Netfilter Firewall
- Thomas Antonio Mendez - Initial work
Open-LMS-Blended is provided freely as open source software, under the GNU General Public License - see the GNU General Public License file for details