Please leave your contacts, we will send you our whitepaper by email
I consent to process my personal data in order to send personalized marketing materials in accordance with the Privacy Policy. By confirming the submission, you agree to receive marketing materials
Thank you!

The form has been successfully submitted.
Please find further information in your mailbox.

Innowise is an international full-cycle software development company founded in 2007. We are a team of 1600+ IT professionals developing software for other professionals worldwide.
About us
Innowise is an international full-cycle software development company founded in 2007. We are a team of 1600+ IT professionals developing software for other professionals worldwide.

Distance learning platform development

The eLearning system for students empowered with web, iOS, and Android applications

Customer

Industry
Education
Region
EU
Client since
2021

Our customer is an international IT enterprise specializing in custom and platform-based software for education, retail, and healthcare.

Detailed information about the client cannot be disclosed under the provisions of the NDA.

Challenge

After the pandemic outbreak, our client won a government bid to run a large-scale project, which aimed to develop and implement an online learning platform for elementary, middle, and high school students. The major challenge was the lack of a stable and reliable system for teaching online school lessons. The sharp increase in users of streaming platforms and video chats during the COVID-19 pandemic led to a drop in the quality of communication due to the limited bandwidth of gateways. Thus, students did not have a stable and reliable system for conducting online lessons and were deprived of the quality online educational process.

As a general contractor, our client turned to Innowise to outsource the platform’s engineering and implementation and opted for the turnkey software development model. According to the project’s objective, the solution should become an integral part of the education process for more than 200 public schools.

Within the project, our team was supposed to:

  • Create an interactive streaming web platform with rich functions to conduct online lessons;
  • Build iOS and Android native apps compatible with a wide range of devices;
  • Ensure smooth operation and high availability of the system while being used by thousands of users at the same time;
  • Provide secure storage of user data on local servers and protection against vulnerabilities.

Solution

Innowise has developed an online educational platform from scratch. The platform provides teachers and students with user-friendly web and mobile apps designed for online lessons.

To access the system, one needs to pass the registration process, log in, and choose the interface language. When registering, each user gets a role, which defines the availability of specific app functions and data.
There are 4 user roles on the platform:
  • Admin
  • Teacher
  • Student
  • Guest
Within the distance learning platform, teachers have multiple tools to create, schedule, and conduct online lessons. Using the calendar tab, they can create lessons, schedule them, select the subject, specify the lesson topic, and assign classes or particular students to the lesson. All users assigned to a lesson receive notifications as soon as the lesson is created in the system. Teachers can send invitational links to parents, students, and supervisors.
The distance learning platform is based on videoconferencing technology. Through the personal timetable tabs, users can join the lessons they are assigned to. If a student has technical problems with a camera or microphone, an alert icon is displayed next to the student’s profile. Throughout the online class, users can send files and media data, share their screens, raise their hands, and utilize the virtual blackboard. Teachers have special rights defined by their user role in the system:
  • Mute/unmute students
  • Invite students to speak
  • Manage the virtual blackboard
  • Create and carry out tests
  • Assign grades
  • Assign homework
  • Manage electronic class book

On the virtual board, teachers and students can write, paint, insert formulas, add shapes, attach stickers, upload files, and use a pointer. During the lesson, users can add multiple boards, change their background color, delete elements, and save boards in the lesson card.

Teachers also have access to the test constructor that allows the creation of tests of any complexity. These tests can be used for knowledge control or assigned as homework. The constructor supports different types of questions: single questions, multiple-choice questions, open-ended questions with comment boxes, and tasks to determine the order of specified events or to find the right combinations. Teachers can set a time limit and the number of attempts to pass the test. Students’ answers are automatically checked by the system and the teacher has access to statistics on the results of the test.

Technologies & tools

Backend
Java, Mapstruct, Spring (Boot, Core, MVC, Data, Security), PostgreSQL
Frontend
Angular, TypeScript, NgRx, RxJS, Material UI
Mobile
Kotlin, Swift, Kurrento, WebRTC, WebSockets
QA
JUnit
Integrations
SMS and Email distribution services

Process

During the Discovery phase, our business analysts have studied the stakeholders’ requirements to determine the project scope, the core functionality to launch MVP versions, and the full feature set. We have built the architecture of the distance learning system and selected optimal technologies for further scaling. This was included in the Vision & Scope file for the customer.

Our PM and developers have offered to use the most appropriate technology stack:

  • Java 11
  • Angular
  • Spring Cloud Gateway
  • Spring Cloud Config
  • Vault, Spring Data
  • Spring Security
  • Lombok
  • MapStruct (to convert the data)
  • WebFlux (to integrate with other microservices and third-party APIs)
  • Сompliance with OWASP TOP 10 (+ OWASP ASVS)
  • Compliance with TLS
  • Integration with Kafka

To host the platform, we decided on PostgreSQL as the light, fast, and multifunctional DBMS. To store and cache metadata of the lessons, we offered to use the Redis database.

The online learning platform is based on the microservice architecture. Every logical component is exposed as a separate Spring Boot microservice with its repository, set of modules, integration tests, security configurations, and deployment pipeline. Such an approach enhances the entire software ecosystem and makes it more flexible and stable.

The platform is resistant to OWASP TOP 10 vulnerabilities, while connections are protected according to TLS and SRTP protocols. The following security measures were also applied:

  • Personal data is stored only in encrypted form
  • Access rights are strictly delimited
  • Data processing is consented by the parents of students

Team

6
Java developers
4
JavaScript developers
1
Kotlin developer
1
Swift developer
2
UI/UX designers
2
Business analysts
1
Project manager
2
QA engineers
1
DevOps engineer
team-innowise

Results

The resulting distance learning platform is already integrated into the education process of hundreds of elementary, middle, and high schools. The solution successfully fulfills its major objective to help students and teachers seamlessly switch to distance learning and conduct educational processes during the quarantine restrictions.

The platform withstands an average load of 300,000 users simultaneously and can be scaled rapidly to millions of users. Our team continues to work on the project expanding the solution’s functionality and providing software maintenance services.

Project duration
  • MVP release – 4 months
  • Full-fledged platform – about 1 year
  • We provide continuous support and maintenance services

Contact us!

Book a call or fill out the form below and we’ll get back to you once we’ve processed your request.

    Please include project details, duration, tech stack, IT professionals needed, and other relevant info
    Record a voice message about your
    project to help us understand it better
    Attach additional documents as needed
    Upload file

    You can attach up to 1 file of 2MB overall. Valid files: pdf, jpg, jpeg, png

    Please be informed that when you click the Send button Innowise will process your personal data in accordance with our Privacy Policy for the purpose of providing you with appropriate information.

    What happens next?

    1

    Having received and processed your request, we will get back to you shortly to detail your project needs and sign an NDA to ensure the confidentiality of information.

    2

    After examining requirements, our analysts and developers devise a project proposal with the scope of works, team size, time, and cost estimates.

    3

    We arrange a meeting with you to discuss the offer and come to an agreement.

    4

    We sign a contract and start working on your project as quickly as possible.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    arrow