Students-Targeted Platform For an EdTech Startup

Students-Targeted Platform For an EdTech Startup

How implementing visualizations into an educational platform and honing its UX allowed an EdTech startup to experience an 11% boost in newly registered users.

Challenge

The customer contacted *instinctools while looking for a contractor to help them implement several new features to their platform based on ExpressionEngine. Due to the startup nature of the project, cost was a major factor. The cost/quality ratio offered by *instinctools turned out to be the best among all of the other competitors.

The customer hired a senior PHP developer to work on a number of challenging data visualization tasks.

The goal of the project was to modify the platform and to add a number of useful features to the existing functionality.

Solution

The problem was solved by the creation of complex charts for visualizing the relationship between admission success and various parameters:

  • Test results
  • Number of unique words in the application essay
  • Selected major

Charts were built using the D3 JavaScript library. However, the key challenge behind this task was to calculate the number of unique words. This required the use of the phpMorphy library for lemmatization.

Key Features

All of the necessary features were successfully implemented to the platform including:

An adaptive user form completion wizard comprised of multiple steps.

Automatic filling of user forms with data from student application forms in PDF file.

As a result, the use of the platform has become much more comfortable for its users.

The customer was pleased with this cooperation and plans to outsource more development tasks to *instinctools upon receiving an additional round of funding.

Technologies

Angular
Angular
MySQL
PHP
PHP

Legacy System Modernization For an Environmental Company

Legacy System Modernization For an Environmental Company

How migrating from no longer supported VB6 to Java provided an environmental company with an app that seamlessly handles multiple customer requests at a time.

Challenge

Customers turned to us with the following problems:

  • They needed a convenient way to build complex queries in the database.
  • There were some performance problems with the client’s site. The system was running slowly in the case of multiple requests.
  • Customers needed to restrict access to the application using a White IP List where access would be allowed only to certain IP addresses.
  • There was a need to synchronize data with other databases.
  • It was necessary to construct graphs based on the processed data (e.g., “Number of bags per hour,” “Number of shipments per hour,” etc.).
  • Customers needed improvement of TimeSlot overview and scheduling. It was necessary to develop an electronic schedule (organizer) enabling the reserving of time for unloading and servicing of trucks with bottles.
  • They needed the ability to obtain additional user data from LDAP.

Solution

The problem was solved in the following way:

  • To enable easy construction of complex queries in the database, we suggested and implemented the use of Querydsl.
  • We optimized and used cache data to solve the performance problem and improve the operation speed when there are multiple requests.
  • To restrict access to the application, we implemented Interceptor for requests intercepting and filtering (White IP List and Whitelist for paths).
  • We implemented a file manager based on Qdrive.
  • To construct graphs on the basis of processed data, we used an additional module of chart.js.
  • We developed a data model and implemented basic logic for CRUD operations in accordance with business requirements (frontend and backend sides).
  • We developed Time Slots Overview – an electronic schedule (organizer) to reserve the unloading time of the machine with bottles, featuring marking of fields “reserved time” / “available for reservation time” / “unavailable for reservation time” by different colors. The mechanism takes into account the overlap of reserved periods, and automatically suggests the nearest free time, if the time the customer has chosen for reservation is already taken. After reservation, the customer can view its details at any time.
  • We created jobs or scheduling tasks for processing the scheduled data.
  • We developed a variety of services for the system, for example, MailService – a shared service to send e-mails.

Key features

Access by roles

Sending e-mails

History of the entities’ changes

Report generation

Display of the data in graphs

Receiving and sending data to external terminals and databases

Imitation of logging in as a different user for the administrator

Tasks that process data in manual or automated mode

Technologies

MySQL
AngularJS
Autocad
Gradle
JasperReports
Anna Vasilevskaya
AI modified real photo
Anna Vasilevskaya
Account Executive

Get in touch

Drop us a line about your project at
[email protected] or via the contact
form below, and we will contact you soon.