/open-lms-blended

An open source learning management system intended for K-12 educational institutions. (MERN Stack Application) MongoDB, Express, React.js, Node.js

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Open-LMS-Blended

An open source learning management system intended for K-12 educational institutions

Overview

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.

Setup

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.

Built With

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

Others

  • Babel - Javascript Compiler
  • Webpack - Static Module Bundler

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

Authors

  • Thomas Antonio Mendez - Initial work

License

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