Kanbas - Online Learning management system (LMS)
Kanbas is an application made for online learning courses management. It support individual faculty, student to post or enroll their courses and relevant materials online for education purpose, and covers module/assignment management, quizzes management and people/enrollment management of courses.
The tech stack
Kanbas is a web application built using React.js and BootStrap framework. It is accessible from any browser from any device. On the backend, it involves a distributed AWS EC2 hosted cloud-based infrastructure, utilizing NoSQL databases to store different type of data efficiently and effectively.
The front end
Kanbas frontend follows a minimalist design that features a single navigation bar on the left. This application uses advanced hooks to track states in the React application and utilizes Redux to centralize those states.
Upon the page and feature the user is currently using, the side bar and main page could automatically adapt to the relevant features, with buttons, states and features adding/editing, or enroll/unenroll. It also features user group and permission system to differentiate faculty, student or system admin, which provide different features for each group.
The back end
The Kanbas backend is a moderately large, distributed system comprising a frontend server and backend servers. It utilizes MongoDB for database management and Amazon S3 for storing data that is expensive or inefficient to keep in the database. The system employs a Client-Server API model, leveraging the Node.js framework to handle authentication and rate limiting. The backend is hosted on the cloud-based Render CSP, ensuring robust, efficient, and high-performance operations.