CASE STUDY

Learnster

A platform that gives companies the opportunity to create/administer/share electronic and class courses.

Solution

Consumer Services Solutions Web part

Industry

Education Services

Outcome

The Learnster educational platform, created by Computools's engineers, provides great opportunities for consumers, as well as, high satisfaction and a convenient user journey. While working on the project, the company's experts applied their experience and skills to reduce time to market and ensure the stable operation of the platform at high loads. The introduction of a finished educational platform has allowed the client the increase in profits and consumer conversion.

Several key options we solved:

  • Implemented options for courses’ easy design and customization.
  • Added opportunity to integrate the platform with internal HR systems.
  • Built-in system to create and export reports based on individual data on each course or training and on each participant.

+101%
Throughput, Users
+92%
Average Order
+61%
Increasing Productivity
+67%
Increasing Revenue
-59%
Reducing Costs
52%
Business Process Automation

PROJECT DESCRIPTION

The client turned to Computools with the idea of creating a flexible learning platform to build customizable courses for staff training. They were focused on providing robust services to keep employees engaged and choose to stay in the company through continuous skills development in modern learning environments. The main requirement of the project was to build-in necessary features, such as: to vary the learning environments, to customize the education portal, to minimize internal misunderstandings, to integrate the platform with existing HR systems, to create and export custom reports.

The result of the collaboration was the Learnster educational platform, which is a complete implementation of the client’s idea, containing all the necessary options and capabilities. While working on the project, qualified Computools's experts made some significant changes, which improved the usability of the platform.

The necessity to solve small problems throughout the project.

Implementing multiple solutions at the same time.

High demand for the proposed service.

High level of service customization.

Wide capabilities of the platform.

Digital Transformation Communication Framework

Computools
Project Manager
Business Analyst
Team Lead
Backend Dev
Learnster
CTO
Product Manager
Communication

Keeping in touch with the client while working on a project is crucial for successful collaboration. Therefore, at the very beginning, an optimal framework is created that allows the team and the client to quickly resolve emerging issues, provide reports and conduct remote meetings. For this project, Slack became that decision.

Business Process Mapping

01
Consult

To choose the best way to solve the problems of the project, a deep preliminary analysis is carried out. To begin with, the main and secondary goals, stakeholders and their goals are identified. Next, the main tasks of the project and methods for solving them are determined. Based on the study of ready-made solutions, competitors, and existing similar projects, a report is generated. The study also includes the identification of potential difficulties, obstacles, and risks. This allows to get a complete picture of the project, to better understand the needs of the client.

02
Design

The design of the project consists of two key stages: creating a high-level architecture of the project and building an interactive prototype. Prototyping is a reliable tool that allows testing the functionality and capabilities of the future finished product before the main development work is carried out. This saves time on making corrections and additions since they can be foreseen even at this stage.

03
ENGINEER

The development process begins with the formation of a project team. When the preliminary preparation is completed and the tasks are defined, the pool of talents of the company is examined and specialists with the necessary knowledge and expertise are selected. The distribution of roles, the choice of methodology for working on a project, and the distribution of tasks, are followed by their implementation. The company uses the Agile approach to work on the project, as it saves time, reduces the risk of errors, and allows to timely make the necessary changes, which reduces time to market and allows to maintain productivity.

Interactive Prototype

Prototyping is a powerful tool in the hands of the team, allowing them to pre-create and explore platform options. This also allows to identify possible obstacles, make improvements, and test the basic functionality. The platform usability developed at this stage is further improved and supplemented with necessary elements.

Computools
Project Manager
Business Analyst
UX Designer
Learnster
CTO
Product Manager
Communication

Digital Platform & Technology

The stack of technologies needed to complete the tasks was determined by the team based on the goals and needs of the project. The optimal solutions were identified, allowing to provide the necessary functionality and stable operation of the platform.

Computools
Project Manager
Team Lead
Backend Dev
LEARNSTER
CTO
Product Manager
Python

Python is a high-level, interpreted and general-purpose dynamic programming language that focuses on code readability. The syntax in Python helps the programmers to do coding in fewer steps as compared to Java or C++. The Python is widely used in bigger organizations because of its multiple programming paradigms. As they usually involve imperative and object-oriented functional programming. It has a comprehensive and large standard library that has automatic memory management and dynamic features.

Django

Django follows the Don’t Repeat Yourself (DRY) principle, making this framework time-efficient. There’s no need to rewrite existing code because Django allows assembling a website like a Lego set. The framework is well-suited for high load systems and can decrease development time thanks to lots of helper objects.

REST API

REST (Representational State Transfer) stands out due to its scalability. Thanks to the separation between client and server, the product may be scaled by a development team without much difficulty. With the indispensable requirement for data from one of the requests to be properly sent, it is possible to perform a migration from one server to another or carry out changes on the database at any time. Front and back can, therefore, be hosted on different servers, which is a significant management advantage.

PostgreSQL

PostgreSQL is an open-source relational database software that runs on the Linux platform and functions with objects as a relational component in the database management system. Some of the prominent features of this database are, it is highly robust and reliable, the recovery process is effortless, and maintenance costs less cost and manual efforts.

Celery

Celery is a task queue implementation for Python web applications used to asynchronously execute work outside the HTTP request-response cycle. Celery can be used to run batch jobs in the background on a regular schedule.

Specification

A preliminary specification is created in parallel with the building of the prototype. In the future, it is supplemented by the necessary steps in the process of developing a finished platform.

Goal: to build the next generation learning platform.

Precondition
Design simple and complex training courses in a neat and user-friendly interface. Log in individually and from any device to the learning platform. Apply a personalized view with all courses and training collected.

Main Flow
Log in.
Choose one of the offered learning environments - everything from physical classrooms and e-learning to blended learning and distance learning.
Design training courses in the user-friendly interface.
Integrate the platform with most HR systems and standards in the market.
Customize the learning platform to your brand's conditions (or your customers' brand conditions).


Postconditions
Create, customize and export reports based on individual data on each course or training and on each participant.

COMPUTOOLS TEAM

The company pays special attention to the selection of specialists in the team to work on the project. When choosing, take into account the necessary level of knowledge, expertise, skills.

Project Manager
Victoria Semenchenko
Business Analyst
Ivan Kachan
Teamlead
Oleg Svet
AM
Artem Babura
Backend Dev
Andrii Dubonos
UI Designer
Sergei Shmatov
UX Designer
Valeriy Panchenko

BACKSTAGE

Maintaining efficiency and productivity is an important aspect of successful work on a project. We strive to create the most comfortable working conditions for each team member, we allow expressing their opinion or ideas.

Whiteboard meeting
Whiteboard meetings are a great way to continuously align everyone's efforts on the quest towards perfection and a very effective tool for visualizing progress and obstacles.
Team Brainstorming
Collective brainstorming is a very effective technique designed to let the best ideas come to reality. Each team member expresses his ideas, so the most brilliant of them are born.
Dev meetings
A special kind of meeting, it allows to take the collaborative process all the way to de-facto editing the code in parallel. This works especially well when our engineers engage with their client counterparts.

Internal Communication Flow

The internal communication ecosystem allows to efficiently complete tasks, maintain communication within the team, and quickly resolve issues. For this project, Trello and Jira project management platform were selected. This allowed the PM to monitor the progress of the project and the implementation of tasks, timely identify delays or emerging difficulties.

Project Management Methodology

A Kanban system is a work scheduling system that maximizes the productivity of a team by reducing idle time. The Kanban system relies on the continuous delivery of products that are geared towards meeting the expectations of clients. One benefit of practicing Kanban is that, if the client’s expectations are not being met, a team has multiple opportunities to give direction for course corrections during iterations.

Kanban is based on iterative work, or work that is done in small segments so as to reduce the amount of re-work should any changes occur. For this reason, customers of a team practicing Kanban can provide honest feedback and request changes during a particular iteration while preserving the timeline and keeping the budget in check.

PROJECT TIMELINE

1 week
2 weeks
13 months
1
Background
Defining goals
  • Identifying high-level project goals
Analysis & Exploration
  • Researching and analyzing the existing and ready-made solutions
  • Defining main restrictions and providing solutions for them
  • Identifying the main risks
2
Strategy
High-Level Architecture
  • Selecting basic architectural patterns and tools
  • Forming an application stack, work processes with VCS
  • Forming the main development guidelines
Interactive prototypes & Specification
  • Development of a prototype in parallel with specification
  • Choosing Project Management Methodology
Build Development Process
  • Calculating the number of project teams
  • Configuring the technological processes and interactions between roles
3
Implementation
Build The Team
  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Conducting an intro meeting
Development
  • Distribution and execution of project tasks
  • Integration of the necessary options
  • Secure system for additional data
Testing & Stabilization
  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

Design Development

Design development was carried out in two directions: experience and interface. The basic functionality of the design was determined during prototyping, in the future work the necessary additions and improvements were made, which allowed us to create an intuitive and ergonomic design of the platform.

Computools
Project Manager
UX Designer
UI Designer
Learnster
CTO
Product Manager
Communication

CODE DEVELOPMENT

The development process was almost continuous. Testing was carried out after major changes to the project. At each stage, the team performed the tasks defined in the specification and roadmap. Final testing was carried out only after making all the changes and debugging the platform.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/python-examples

Implementation On Client’s Side

01 launch

The launch of the platform was completed on time after all the necessary tests and checks.

02 Transfer

The platform was migrated to the client’s servers taking into account all security requirements. Upon completion of the transfer, an additional check of the platform's performance was conducted.

03 Education

Thanks to the developed design, the user's journey is simple and clear, which does not require additional tutorials and training materials.

Contact Us

Let's talk about your project.
Use the form to drop a line or write us an e-mail: info@computools.com

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.

GET EXPERT ADVICE!

Computools will guide your company through a digital transformation.