Edu-finity: e-Learning System

Telan Rishan
9 min readJun 4, 2021

LP Project Report (Batch 2021- January)

Employee ID : 8086647

Employee Name : Fazil Rishan

Abstract

With the increasing concerns about the spread of COVID-19 and efforts to control the coronavirus, a growing number of higher education institutions and schools around the world have discontinued on premise classes which has put forward new challenges in the education system. This article proposes an approach to minimize the global pandemic impact on the education system with the advent of a flexible and resilient E-Learning system. Edu-finity is an E-Learning system suitable for higher education institutions and schools to access educational resources. This system also provides the ability to assess their skills through online exams. In a post-COVID-19 world, some potential ways for the adoption of e-learning in Sri Lankan institutions are also outlined.

Keywords: E-learning, Microservices, Spring boot, Exam

LIST OF ABBREVIATIONS

Abbreviation Description

JWT — JSON Web Token

JS — JavaScript

ORM — Object Relational Mapping

RDBMS — Relational Database Management System

TVET — Technical and Vocational Education and Training

ABR — Adaptive Bitrate

1. INTRODUCTION

With the ongoing outbreak of the Covid-19 pandemic, E-learning in higher education is expected to become even more important globally as well as in Sri Lankan educational institutions. The findings also suggest that in times of lockdowns and social isolation caused by the Covid-19 pandemic, online and remote learning might be essential. It also serves as a solid foundation for future study [1].

The main purpose of this project is to provide a learning environment for anyone and evaluate themselves through online exams. The main feature of this project is to manage training resources, students and exams based on subscriptions.

The users need to sign up to use the services provided by Edu-finity. After successful creation of an user account the users are able log into his/her account and may view study materials and undertake exams. Edu-finity uses JWT as an authentication mechanism as mentioned in the below diagram.

JWT Authentication Mechanism

2. TECHNOLOGY STACK

‘Edu-finity’ is mainly developed using Java Spring Boot, React JS as frontend and MySQL as backend database with microservice architecture. All technologies used in detail are described below along with the reason for the preference.

Technology/ Framework/Feature and Preference Reason:

Spring Boot: Backend is mainly implemented using Spring boot because it allows you to easily create production-ready applications while providing non-functional features such as embedded servers that are easy to deploy with the containers, configurations and monitoring etc.

MySQL : MySQL is used as the database as it is reliable, compatible with all major hosting providers, cost-effective, and easy to manage and provides strong transactional support

React JS: The assessment service of the system that enables users to undertake quiz exams require a very fast and scalable solution. Hence Frontend of the system is implemented using React JS

Hibernate : Is used as the ORM solution because of the simplicity and does not need to write code explicitly to map database table tuples to application objects during interaction with RDBMS. Also with this approach, this enables flexibility for the developer where he is able to flush database test data and create fresh databases.

Spring Cloud Config: Is used to centralize the configuration for all services to achieve separation of concern.. GitHub is used as the config store.

Eureka Discovery Service: Is used because of its simplicity

GitHub: Is used as the version Control as its open source and very popular

3. PROBLEM STATEMENT

The Covid-19 global pandemic has forced schools all over the world to shut down. About 1.2 billion children are out of school and universities worldwide therefore students are not able to continue academic work on premise [2]. The traditional higher education system faces huge challenges as a result of Covid-19, and there was an urgent need for every government to include online education into their higher education system [3]. Prior to the Covid-19, online education was not given much attention in the Sri Lankan higher education sector which had an adoption rate of 36%. However, due to the shutdown of universities as a result of Covid-19 has forced the Sri Lankan government to push online education as a possible strategy for continuing higher education activities in the face of a crisis and up to 60%–70% of major TVET courses is being delivered through online since the Covid-19 outbreak [3] [4]. In Sri Lanka, Mostly government schools struggle to carry out the academic activities without delay with no official e-Learning platforms.

COVID 19 — Global Impact on Education [2]

4. PROBLEM SOLUTION

According to research, online learning increases active learning and takes less time, showing that the changes caused by the coronavirus are here to stay [2]. As a result, education has undergone significant transformations, with the rise of e-learning, in which teaching is done remotely and through digital platforms. With this proposed solution school students and university students will be able to learn and undertake exams online with ease and also relatively low cost and give people who can’t afford to go to physical school access to quality education. Furthermore, According to [3], the institution faced various issues in terms of online distribution, problems with practical tests administered through online mode, evaluation, examination, and project supervision. The study also identifies issues with the online teaching and learning environment, as well as a lack of online teaching and learning skills among staff and students, as being critical to the smooth operation of the South Eastern University of Sri Lanka’s teaching and learning process during the Covid-19 pandemic. Therefore in order to overcome the challenges stated in [3], Edu-finity as future work can be implemented with the video streaming feature using Ant Media Library to improve the interactivity of the system where lecturers can broadcast video streams and students can stream the videos in real time. On the other hand, many user accessing Edu-finity from remote areas would have low internet bandwidth issues therefore to overcome that and improve usability, the media server of Edu-finity could be configured to transcode the incoming stream from the user device to accommodate lower resolution 360p (480x360) using Adaptive Bitrate (ABR) Streaming technique which adjusts the compression level and the video quality of the stream based on the bandwidth availability dynamically in real-time which would give the Edu-finity users great experience when streaming videos.

5. ARCHITECTURE DESIGN

High Level Architecture Diagram

1. Uses Eureka service discovery to call discovery clients

2. All configurations are stored remotely in GitHub

3. Auth server is used to restrict services based on subscription as well as user authentications

4. Microservice chain pattern is used to manage user materials and subscriptions. User service response is used to call resource material service and aggregate response sent back to dashboard and across other UI’s such as exams scores etc.

5. Common model is used to have all service models to share across other services as dependency

6. Routing is implemented using Spring cloud gateway

7. Hystrix circuit breaker pattern will be implemented to make system more resilient

8. Eureka uses Spring cloud load balancer to provide client-side load balancing upon request to call microservices

5.1 CONCEPTS IMPLEMENTED

Service Chaining: Is Enterprise integration pattern implemented in Edu-finity in order to receive the aggregated response of User service, Course service and Assessment service. Service chaining happens in the Assessment service where it invokes User service with users ID and Course Service with course ID and gets the information needed and return a detailed response in order to display in Edu-finity dashboard, course, assessment page etc

Circuit Breaker Pattern Detailed Response Method
Methods being called by Detailed Response Method

Service Discovery with Netflix Eureka : Is implemented for getting/tracing/finding/gathering/discovering the URL of all services in Edu-finity. Ports of all services in Edi-finity are dynamic which will be important when load balancing. On the other hand it will be very useful when having the application to run in multiple environments, such as local, QA, and production, is a basic requirement.

Load Balancing: Since this is an e-Learning system, scalability becomes a crucial factor where there needs to be multiple instances of a particular service. Most of the workload and network transactions will be on Assessment service, whereas the URLs of these instances should be dynamically assigned, and would change on a regular basis when load balancing which will be handled by discovery service and at the same time creating instances based on demand be handled by load balancer. In other words, to preserve scalability, Load balancing is implemented.

Commons Model Dependency: Is one of the crucial aspects in microservices. Managing dependency efficiently is very important. In this project the model classes have been implemented in separate maven projects to share across other services without having to duplicate models in all services. The commons model that contains all model classes of Edu-finity will be used as a dependency for all other projects. In this way the separation of concern is preserved. One of the benefits would be for example, If various Service modules need to make transactions with the database then we do not need to have data JPA and MySQL connector dependencies in all service modules, instead we can only have it in a common model as dependency whereas in this approach data JPA and MySQL connector then would be a transitive dependency indirectly to service modules if the services only use commons model.

Circuit Breaker Pattern with Netflix Hystrix: Is implemented to make Edu-finity resilient. In the system the Assessment service gets the payload and interacts with user service and course service. In this case, The Assessment service is protected with service breaker pattern since it is the calling service in the service chaining process because if the course service or user service fails the whole system would break. To overcome this the Edu-finity is configured to give a default response if either service fails. Assessment Service is implemented with its own common hystrix command class for both User and Course service that extend the HystrixCommand class to invoke API’s and handle the fallback mechanism along with Hystrix configuration class that fetch configuration from the configuration file, for instance, timeout time etc. Having a common hystrix command class for all services would be a great practice because in future if there are more services added then we do not need to implement a separate command class to invoke its API and have its own fallback mechanism if we have a common hystrix command class with the help of generics.

Common Hystrix Command Class Implementation
Hystrix Config Class Implementation

GitHub link for the project source code: https://github.com/TheTechTitan/edu-finity

6. CONCLUSION

Edu-finity is an E-Learning system that offers a flexible and effective approach for online education for all universities, schools or any user to carry out their academic and educational aspects without any difficulties and overcome the challenges caused by Covid19 pandemic on education. This system enables users to access study materials of various domains and assess themselves through online quiz exams with real time feedback. The resource materials for the system such as PDF slides are stored in the MySQL database and all services with security, implemented using spring boot. The frontend of the system is implemented using React JS that ensures faster rendering when users view study materials and take exams. Overall, The system contributes to helping the online learning community to learn remotely without any barriers.

7. REFERENCES

[1] Ali, W., 2020. Online and Remote Learning in Higher Education Institutes: A Necessity in light of COVID-19 Pandemic. Higher Education Studies, 10(3), p.16.

[2] World Economic Forum. 2021. The COVID-19 pandemic has changed education forever. This is how. [online] Available at: <https://www.weforum.org/agenda/2020/04/coronavirus-education-global-covid19-online-digital-learning/> .

[3] Rameez, A., Fowsar, M. and Lumna, N., 2020. Impact of Covid-19 on Higher Education Sectors in Sri Lanka: A Study based on South Eastern University of Sri Lanka. Journal of Educational and Social Research, 10(6), p.341.

[4] R. Hayashi, M. Garcia, H. Sudarshana, A. Jayasundara, A. Balasuriya and T. Hirokawa, “COVID-19 Impact on Technical and Vocational Education and Training in Sri Lanka”, ADB Briefs, 2021. Available: 10.22617/brf210081–2.

--

--