What we've done recently

From back end to front end. From on-premise to cloud. From monolithic to microservices. Covering industries like E-Learning platforms, Health Care, Real Estate and Financial Services. Using modern and best-in-class technologies.

Enterprise class E-Learning platform

Client:

Docebo

Service:

Dedicated teams for enterprise (~30 Team Leads/Devs/QAs)

Technologies:

PHP and PHP Frameworks, HTML/CSS/JavaScript and JS libraries, TypeScript, nodeJS, Angular, SQL (MySQL, PostgreSQL), NoSQL (Redis, MongoDB), Ruby, Docker/Containers, Learning materials standards: SCORM, TinCan, AICC, Exam Tests, Video transcoding and streaming, Microservices, Amazon

Duration:

7+ years

Description:

We’ve been part of the development process for years, building a large e-learning platform for one of our exclusive partners, Docebo, Italy. It is a powerful learning management system (LMS), equipped with an impressive suite of apps and features with the flexibility to adapt to individual organizational needs. Based on subscription business model, it helps small, medium and enterprise class customers to deliver formal and informal knowledge and information to their employees or clients. It uses huge amount of on-premise and cloud technology stack, and comprises of rich user interface, complex and heavy back end, utilising e-learning standards like SCORM, TinCan, AICC, Video streaming, as well as informal learning methodologies like coaching, media sharing, community engagement.

Skills Management System

Client:

Docebo

Service:

Dedicated team – 5 people

Technologies:

PHP and PHP Frameworks, SQL (MySQL, PostgreSQL), NoSQL (Redis, MongoDB), Angular, Typescript, AWS, ESCO data, AI

Duration:

2 years

Description:

Build a system to identify and close employee skill gaps by delivering targeted learning. Analysing learner achievements and detected skill gaps, assign courses and informal learning assets to close them. Building this product required a thorough R&D activity before any development work. The inner logic is based on a complex and deep analysis of a lots of mixed data, coming from many different sources, incorporating current and past learning activity and achievements, historical data, while following best practices and standards compliance.

Redis Desktop Client

Service:

Internal project

Technologies:

C++, Qt Framework, Redis, Cross-platform development

Duration:

6m

Description:

A Qt Framework based, cross platform, desktop application for Mac, Windows and Linux to connect to infinite number of Redis servers and manage Redis databases – a highly valuable tool for every DevOps and system administrator where Redis NoSQL databases are involved. Allows database and kesy management, export and import data, terminal access.

Application process automation

Client:

NDA

Service:

Feature request

Technologies:

PHP, SQL, HTML/CSS/JS, Angular, Ruby, Docker/Containers, AWS, S3

Description:

Event driven, rule based application process automation. Upon certain event (or schedule timetable) and if certain conditions are met, execute a selected part of the application, which otherwise must be run manually, thus greatly reducing administrative work, converting it to an unattended process.

We have more to show

UI Kit

Build internally used UI kit, based on Angular 5+ and Google Material Design. Contains huge amount of reusable modules and components like Data Browsers, Table Viewers, Image Editors, Chart Generators, Selectors, Buttons Library, Sliders, Snackbars, Date Pickers, File Uploaders, Accordions and more. Deliver state-of-the-art look & feel while providing maximum reusability, easy to improve and adapt, backward compatibility, responsive design and performance.

Migrate a big monolithic application to microservices architecture

A big monolithic application grew up significantly and we faced the need to split it to pile of microservices, each one responsible for a very specific set of functionalities, built separately and as an independent entity. Using on-premise and cloud based (AWS) Docker containers and virtual machines, the application was transformed gradually, incrementally and without interrupting the development and release cycle, in a continuous delivery manner.  The migration had to be done without interrupting the current and ongoing development and release cycle, continuously delivering all new functionalities and fixes. On the infrastructure side, the process was carefully crafted to provide future-compatibility and enterprise class scalability.

Background Jobs Execution Framework

Build a framework to execute concurrent background jobs based on Redis PUB/SUB, Docker Containers, AWS Cloud Formation (Lambda functions, SNS, SQS) and Node.js. Facilitates on-demand containers spawn-run-and-die mechanic, pushing life notifications to client browsers over WebSockets. The multi-tenant nature of the surrounding application requires extremely careful work on per-user/per-tenant jobs execution, prioritization of jobs, permission handling. Also, the technology stack was a challenge since the process requires mixing all kinds of knowledge and tools – from cloud based containerization, through Redis based caching and job scheduling mechanic, to using several different languages in a mixed environment (hardware and software).

3rd Party Integrations

Integrate best-of-class 3rd party applications and services into customer’s web applications – Salesforce, Elucidat, Lectora, Optimizely, Slack, Zendesk, Facebook, G Suite, OKTA, SAML, Adobe Connect, OnSync, GoToMeeting and more. The most challenging part was the diversity of integrated products – various CRM, chat applications, authentication providers, social media and video conferencing – a mix of technologies and knowledge to combine and make them all available in a single application, easy to configure and use by administrators and end users.

Certification and Retraining

Build a system to manage, track and control certification and retraining activity of customer’s users, learners or employees by applying a recurring training programs – issue certificates, handle expirations and validity, notify, remind and automate. The importance of the certification process and its impact on certified persona was driving us to make it maximum error free, thoroughly tested and easy to use and administer.

Integrate Payment Gateways

Custom built integration for handling payments through PayPal, Authorize.Net, Stripe, Adyen, CyberSource and more. The challenge was to avoid using 3rd party libraries due to the specific payment workflow of the hosting web application and implement the payment process defined by all and each payment gateways.

Video Transcoding (to HLS)

Utilizing a set of Amazon Web Services, e.g. Elastic Transcoder, SNS, SQS, Cloud Formation and more, build a fully automated, background-running  workflow to transcode any user uploaded videos to HLS containers for best quality and performance streaming and playing. In an environment where users are uploading videos of all kind of types, quality and formats, the hosting application must do the best to provide streaming of those videos in the best possible quality and performance, no matter the source type.  

Amazon ElasticSearch Integration

Build a custom search engine based on Amazon ElasticSearch service, allowing users to find most relevant content among hundreds of thousands of documents and objects. The challenge here was the multi-tenant nature of the application, multi-user environment and a huge mix (type and amount) of indexed objects required making a complex logic to deliver an isolated search-engine mechanic to avoid cross-tenant and cross-user search outcome, while minimizing the used ElasticSearch resources.

Transparent Custom Cloud Storage

Using Amazon S3 as final content storage, build an application module used by all application developers to store, find and retrieve any content transparently and without S3 knowledge. Storage abstraction was required due to migration from on-premise storage to AWS S3, without interrupting the development and release cycle, while improving the granulation, objects classification and permission based storage access, through a custom Content Delivery framework over AWS Cloudfront.

Microservices API Gateway

Implement an API Gateway, dispatching requests between application microservices. Developing a Node/TypeScript  based application layer, running in a containerization environment to accept and dispatch intra-microservices calls or public calls to various internal microservices. Apply authentication, authorization and request & data caching mechanic to improve performance.

Implement the 70-20-10 model for learning

Enrich and improve e-Learning platform, at that time based on formal learning materials only (e.g. courses), to offer learners other two learning channels as well – informal learning and relationship engagement. The resulting work transformed the platform in a place where users and teachers/tutors were enabled to share all kind of media content, connect to assigned or emerged experts, comment and question the content as well as attend Q&A sessions, live or in a forum-like manner. The content and social activity is organized and presented in a channel form, to allow easy navigation and knowledge categorization while not formally and strictly separated by type.

Reusable Learning Objects Repository

Implement a storage and management framework to maintain a versioned collection of learning objects (SCORM, TinCan, video, other media, tests and so on), available on-demand for inclusion in formal training entities (e.g. courses).

You want to learn more

Let us know your needs. We will glad to help!

Check our services

From back end to front end. From on-premise to cloud. From monolithic to microservices. Covering industries like E-Learning platforms, Health Care, Real Estate and Financial Services. Using modern and best-in-class technologies.