Skip to content

oompas/open-lms

Repository files navigation

OpenLMS - An Open-Source LMS Platform

Welcome to the official repository for the OpenLMS platform created at Queen's University. This repository is a comprehensive collection of our generic & extensible platform code and our official documentation that may assist in initializing, configuring, and modifying your own instance of the platform.

The Open-Source LMS platform aims to make open education more accessible and usable to organizations. A blessing in the open education space is the ease of access to many great third-party courses hosted on unique online platforms. However, the curse and subsequent challenge lies in the lack of a centralized platform which can be used to assign and track the completion of these courses.

After creating an instance and configuring minor setup details, the platform is ready to use and effectively functions out of the box. However, the code base is intentionally structured to be easily extensible to fit your organization's needs.

Overview

Next JS Vercel Firebase Cloudflare TypeScript

To streamline our development process and fit the needs of most organizations, we utilize these frameworks and services:

  • Next.js is an open-source web meta framework using React to enable hybrid rendering of both the server and client side to significantly improve performance and SEO using Typescript.

  • Vercel is a cloud platform that allows developers to easily deploy web applications. It enables a seamless experience by taking care of deployment and scaling so developers can focus on their code.

  • Firebase is a collection of Google-powered back-end cloud computing services designed to simplify and enhance API creation, improvement, and growth. It offers key services like authentication, databases, and serverless functions, reducing the complexity and maintenance required for instance management using TypeScript. The OpenLMS core team specifically chose it due to its reliability, simplicity, and ease of scaling and extending platform functionalities, making it ideal for minimizing technical overlead.

  • Cloudflare is a global network designed to be secure, private, fast, and reliable. OpenLMS uses Cloudflare as a proxy between the Vercel production deployment and the user accessing the instance. This makes it ideal to mitigate against potential DDoS attacks and simplify the instance's DNS services.

  • The technology stack was chosen for its ease of deployment and emphasis on extensibility, ensuring future developers can easily adapt and expand upon it.

Potential Costs

  • For most organizations, the Vercel free Hobby tier is recommended, but larger organizations or those with specific deployment needs may use other methods to host the instance, with varying costs associated with this.
  • The Firebase paid Blaze tier is required, but the costs are generally very low. Small projects likely have no variable costs (100,000 document reads per day and 2 million API calls per month for free) and only a few dollars for fixed fees.
  • A domain name is optional but desirable for a cohesive platform look in an instance's production deployment. We recommend Porkbun or Cloudflare Register for the lowest-priced domains, but almost any domain registrar suffices!

Getting Started

  • Check out our platform developer guide for more detailed instructions on how to get started with an initial instance. Visit Developer Guide
  • For ideas on potential features to extend the platform's functionality, check out our repository's project board and look under the No Status column for drafts and closed issues. Visit Project Board

Team

Core Team

Anthony Galassi Sara Hall Reid Moffat Graham Carkner Louie Chung
Anthony Galassi
Project Manager & Back-End Developer
Sara Hall
Front-End Developer
Reid Moffat
Lead Back-End Developer
Graham Carkner
Lead Front-End Developer
Louie Chung
Front-End Developer

Stakeholders

Steven Ding Meghan Norris
Steven Ding
Supervisor
Assistant Professor in Computing at Queen's University
Meghan Norris
Customer
Chair of Undergraduate Studies in Psychology at Queen's University

Acknowledgements

We sincerely thank Steven Ding and Meghan Norris for all of their guidance, advice, feedback, and time that they've given us in developing this platform. It truly has improved the overall quality of our capstone project, and each team member has come out of this project having learned many things and become a stronger software developer.

We'd also like to acknowledge our course coordinator, Dr. Anwar Hossain, for enabling us to put our best foot forward via his feedback on our capstone presentations throughout the course!

We look forward to continuing our journey in the Computing world!


For more information or to ask questions not answered by our repository resources, please feel free to contact anyone from the core team through LinkedIn.

About

Open Education, Unified Learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages