See more projects
nda

The customer chose to protect their confidential information

eLearning Platform for Students Built by Andersen

eLearning
Customer rating
4.9
This ranking reflects our expertise and success
eLearning Platform for Students Built by Andersen

About the customer

Andersen was contracted by a US-based university as a dependable developer of the best examples of eLearning platforms. This higher education establishment offers a wide range of educational programs at various levels: undergraduate, postgraduate, and professional courses for students from all over the globe. The institution has over 10,000 employees and takes pride in having over 58,000 students. Most of them – around 70% – are located in the US.

Location:USA
[object Object] on the map

Project overview

As a well-known university established in the 18th century, the customer needed to swiftly and cost-effectively adapt to new challenges resulting from the pandemic. The situation with COVID-19 made all educational institutions revisit and reassess the way they delivered learning. Due to strict lockdowns, many people were forced to stay home and practice social distancing. Thus, the customer had to find a new way to fulfil its missions. The solutions available on the market didn’t meet the customer’s requirements in terms of reliability – all of them could be easily overwhelmed due to a high load or poor Internet connection. This fact mandated the need for a brand-new, custom-built, and fully dependable eLearning video platform with advanced conferencing capabilities.

Duration24 months
Technologies
JavaScript/TypeScript
React
Redux
WebRTC
Java
Python

Mobile:

Kotlin

Database:

PostgreSQL

DevOps:

GitLab CI, Docker, Kubernetes

Specialists

    • 3 Solution Architects
    • 3 Business Analysts
    • 5 Front-end Developers
    • 4 Back-end Developers
    • 3 Mobile App Developers
    • 1 UI/UX Designer
    • 4 QA Engineers
    • 1 Project Manager

Project details

The customer’s business was under COVID-19 pressure. The forced pandemic restrictions made in-person learning almost impossible, entailing lost opportunities and reduced profits by 7.53% for the university. This happened because the education process wasn't digitalized at the required level, with all the needed features in place. The institution also lacked the ability to share content and communicate with a wider audience around the world by using popular up-to-date technologies, namely, an eLearning video platform.

Opportunities

The customer's intention was to enhance student loyalty in the region and expand to other regions by developing a web-based eLearning platform powered by WebRTC (Web Real-Time Communications) technology. This technology was supposed to complement existing educational programs and techniques, offering an opportunity to totally digitalize them in the future.

The platform was expected to provide high-quality real-time communications services, giving users easy access to media content (streaming, screen sharing, interactive whiteboards, an inclusive+ version, etc.) on all types of devices (web/mobile). For our customer's business, this meant the capability to distribute their content online without gathering many people in one space and hence without exposing them to COVID-19. The university was determined to comply with all applicable norms, provide educational services of high quality, and distribute new digitized business offerings to the regions of Europe and Asia. This, in turn, meant getting a larger share of the educational market without being tied to a specific offline location.

And that is why, due to the terms of use of some platforms in the international market and the lack of the necessary functionality in existing platforms (such as Skype, Slack, Microsoft Teams, Zoom, Discord, etc.), the university decided to create its own platform that would meet all its requirements.

Goals

The university wanted to restore student loyalty and confidence, increase the business's profitability, and become a leader among educational service providers by obtaining its own web-based eLearning platform. The resulting solution was expected to cover most needs of the educators and students and cope with a large user load level. The main business requirements set by the customer were:

  • Wide functionalities. The resulting web-based eLearning platform was expected to enable full-fledged educational activities via various visualization, documentation, and online testing tools;
  • Ease of use. The eLearning video platform was expected to enable all users of different ages and abilities to work with the system's functionalities easily and intuitively;
  • High load. The ordered eLearning platform for students was required to handle numerous users (up to 3,000 people) concurrently (6K+rpm) – with stable performance, reduced errors, and fast response times;
  • Inclusion. As one of the best and most modern examples of eLearning platforms, the solution needed to be accessible to people with visual impairments and other similar issues;
  • Guaranteed content security. The eLearning platform for students was expected to effectively limit or complicate various illegal activities with digital content to protect intellectual property rights.

Apart from that, user interviews and market research conducted by our Business Analysts during the Discovery phase identified some extra major user requirements:

  • Availability. As one of the top-notch eLearning platform examples, the solution was expected to allow users to view video streams adapted to various networks: 3G, Wi-Fi, and LTE. Moreover, users needed to be able to connect via browsers, smartphones, and desktop apps (including different operating systems, device models, screen resolutions, etc.) to use new WebRTC technologies and enjoy a comfortable online education experience with no limits.
  • Content addition by tutors. The platform was supposed to allow tutors to edit and update the content of the training programs on their own, without the help of the IT team.
  • Favorite tools. The solution was expected to remember the frequently used tools and show them at the top of the list during the next session.

Ongoing market trends

The market of WebRTC solutions is growing worldwide. Due to a forced need that started in 2020, organizations are actively engineering their own solutions for comfortable user communication via audio and video conferences. Existing solutions do not always and do not fully cover the needs of a particular business; moreover, they can't be further customized or improved. On top of that, the education sector in the US has always been in demand, which allows various institutions to accumulate sufficient resources to invest in the production of their own educational solutions and compete with professional educational platforms (e.g., Udemy Business, LinkedIn Learning, Moodle, etc.). And the crucial advantage, in this context, is that each institution can tailor the learning process to make it as close to the real (offline) educational experience they provide as possible.

Solution

Architecture overview

In order to satisfy the customer's requirements for eLearning processes, our team needed to propose an effective, scalable, and robust architecture that would make it possible to provide communication services on various web and mobile platforms with different network configurations. The use of WebRTC technology enabled the introduction of enterprise-grade and proven architecture solutions.

Visual concept

In general, the server-side solution consists of four primary components:

  • Application servers
  • Signaling servers
  • STUN/TURN servers
  • Media servers

The following types of platforms are supported on the client side:

  • Web browsers
  • Windows apps
  • Mobile apps

Application servers

Application servers are primary app and website hosting servers that contain custom functionality entirely built around WebRTC technology.

Signaling servers

A WebRTC signaling server is a server that manages the connections between client devices. It doesn't transmit the media traffic itself but focuses on signaling. This includes enabling one user to find another in the network, establishing the connection itself, resetting the connection, if needed, and closing it down.

All peers send notifications to the server they are connected to, and the server forwards them. These notification requests can be executed over WebSockets or HTTP protocols, such as REST for sending and long polling for receiving. Both need extra effort to receive notification messages – WebSocket needs to be open and running and cannot be used on demand; long polling, in turn, needs to make multiple HTTP requests over time, which consumes bandwidth.

STUN/TURN servers

WebRTC peer communication can work in three different ways, depending on a peer's network configuration:

  • Option 1 – both peers are on the Internet, with static IPs, and without any firewall or NAT (network address translation) devices.

In this case, they can communicate directly without the involvement of any external systems.

Visual concept
  • Option 2 – peers are behind a NAT device (e.g., a Wi-Fi router).

In this case, our solution uses a protocol called STUN (Session Traversal Utilities for NAT) that allows clients to discover their public IP address and the type of NAT they are behind. This information is used to establish a media connection. In most cases, a STUN server is only used during the connection setup, and once this session is established, media will flow directly between the peer and the Video Gateway (WebRTC).

Visual concept
  • Option 3 – peers are behind a firewall.

There are very restrictive corporate networks (e.g., UDP traffic forbidden, only 443 TCP allowed, etc.) where, due to security reasons, all non-standard communication ways are blocked by corporate policies and standards. This requires clients to use a TURN (Traversal Using Relays around NAT) server to relay traffic. In this case, there is no direct communication between