How We Helped Build an E-Learning Platform for Delivering Customized Courses

  • 13 min
  • Dec 26, 2017
Gleb B.

Gleb B.


Vlad V.

Vlad V.

Chief Executive Officer


Learning is the foundation of human civilization and the driver of progress.

In the past, learning was a difficult and tiresome activity. But it’s different today since the internet has taken learning online.

The e-learning industry is booming – millions of people and thousands of organizations are embracing online education and training. According to a forecast by Orbis Research, the e-learning market is expected to reach a stunning $275 billion in revenue by 2022.

Global E-Learning Market Growth

This spectacular growth is due to the many advantages that e-learning provides:

  • Availability. The internet allows people to learn whenever and wherever they want as they can access online courses from any device (computer, laptop, tablet, phone).
  • Affordability. Online learning is more cost-effective than conventional learning since there’s no need for buildings, offices, or other typical overhead; everything takes place on the internet.
  • Flexibility. E-learning doesn’t put time pressure on people, so they can learn at their own pace.
  • Large audience. Billions of internet users all over the world can access online courses.

US-based company Blue Sky came up with the idea for a cloud-based learning management system (LMS) that would help businesses deliver customized online courses and educational content to their employees and customers.

When Blue Sky reached out to RubyGarage, their e-learning platform was already developed but the application wasn’t functional enough. Our experts helped Blue Sky’s development team get their Path LMS up and running.

Business Value Of Blue Sky’s Path LMS

Are you wondering whether businesses really need an e-learning platform? Actually, any company (from a small business to a large corporation) that wants to constantly improve the skills of its employees needs an LMS.

Look closely at any industry or profession and you’ll realize that there’s potential for online learning: in advertising, marketing, accounting, education, healthcare – the list goes on and on. Companies and associations can benefit from an LMS for staff training as well as for providing online educational content to wider audiences.

Let’s have a look at some of the real-life problems that the Blue Sky cloud-based learning platform can solve:

Infographic How E-learning Platform Helps Companies

How Does Blue Sky’s E-learning Platform Work?

Now that you know what problems Blue Sky’s Path LMS helps to solve, it’s time to take a look at how this application works and how users (by which we mean corporate clients) interact with it.

Step #1 Rich functionality

A client – a business, individual, or association – can create a corporate account and select the functionality they want including tools for managing courses, support for webinars and events, ecommerce features, and more. The Blue Sky e-learning platform can be tailored to the needs of each client and clients only pay for the functions they actually use.

Step #2 Course customization

Blue Sky’s e-learning platform lets businesses design unique learning experiences for their audiences by creating interactive assessments and surveys. Webinars can also be added to online courses so businesses can create whatever learning experience they need.

Clients of Path LMS can charge a fee for their courses or make their content free depending on their business goals.

Step #3 Learning environment

With Path LMS, it's easy to invite users to a learning environment. Businesses can either import their existing database of users to Path LMS or let users sign in to Path LMS using their corporate credentials. The latter option is available thanks to the single sign-on (SSO) feature that integrates corporate application with Path LMS.

Businesses can organize their audiences into groups and create online courses specific to each group.

Blue Sky’s e-learning platform also allows clients to grant permissions for courses. For example, some courses can be available to a certain group only while others are available to everyone.

Step #4 Certificates

To reward users for completing an online course successfully, Blue Sky’s e-learning platform offers certificates. In Path LMS, businesses can create their own custom certificates that are automatically issued to learners who fulfill all tasks for a training course.

Step #5 Performance tracking

An essential part of learning is tracking performance, so Path LMS includes an administrator dashboard that provides a variety of crucial analytics.

This dashboard allows companies to check how many users have attended each of their online courses, see those users’ personal details (name, email address, etc.), discover how many people have successfully completed their courses, and more. Businesses that provide paid educational content can also see their revenue via the administrator dashboard.


To build an effective and reliable cloud-based e-learning application, our team had to overcome a number of challenges:

  • Ensure scalability of the application
  • Prepare the app architecture for further updates
  • Build a development workflow to get the app up and running as fast as possible
  • Seamlessly integrate Blue Sky’s Path LMS with third-party services
  • Build a fully functional e-learning application that would suit different companies
  • Implement marketing functionality

Our team was excited about this project because it would help many companies deliver online courses and train their staff. To deliver a top-notch application that would be a hit on the market, our RubyGarage experts had to not only implement the functionalities our client wanted but also analyze the whole application and suggest improvements.


When our team joined the project, the initial version of the Blue Sky e-learning application had already been developed by a different company. They did a great job and delivered clean and secure code. However, they built a monolithic application that was difficult to scale. Also, the initial version of Path LMS didn’t have enough functionality. Therefore, we needed to revise the code, make the application scalable, and get it ready for implementing new functionalities. Our team came up with several solutions to launch a top-notch application as quickly as possible.

Ensuring Scalability

Blue Sky’s e-learning platform needed to work smoothly regardless of the number of users. The app had to be able to handle heavy loads so that users could log in and learn right away. In other words, Path LMS had to be scalable.

Heroku had been chosen as the hosting provider for the core of the application that was already developed. Heroku is a Platform-as-a-Service (you can find a detailed explanation of PaaS in this article), which means that developers are in charge only of hosted applications while the cloud service provider takes care of scalability.

Though Heroku provides an autoscaling feature, it has certain limitations: for example, it doesn’t scale background jobs, which are typical tasks that run in the background and don't need user intervention such as logging, system monitoring, and user notifications.

To handle this problem and ensure the scalability of Path LMS, our team decided to create a kind of scalability calculator. We calculated the resources the application would require in case of traffic spikes so that managers could manually (via Heroku dashboard) scale Path LMS up or down depending on anticipated load.

Path LMS managers can scale up the application if traffic spikes are expected and guarantee that the e-learning platform is always accessible. On the other hand, Path LMS can easily be scaled down if the available resources are much greater than what the app needs (which saves money).

Implementing a Domain-Centric Architecture

Initially, Path LMS had a database-centric architecture, which meant that data was considered the most important part of the application. This approach to software development allows developers to deliver an app quickly but proves inefficient for large-scale projects. Blue Sky’s e-learning platform was conceived as a large and upgradable application, so we suggested switching to a domain-centric approach.

Domain-centric design is an object-oriented approach to software development that focuses on designing applications according to a business domain, taking into account the elements in that business domain, their behaviors, and their relationships. This switch to a domain-centric architecture provided a number of benefits:

  • Clearer and more concise code
  • Enhanced testability
  • Easier to update

Having moved to a domain-centric architecture, our team made the application ready for further updates and ensured that it would be easy to maintain in the long run.

Streamlining the App Development Process

Delivering a full-fledged application required implementing a lot of new features in Path LMS, so our team had to integrate multiple changes into the application’s code base.

Adding new features usually comes with so-called “integration problems”, when the new code that developers add conflicts with the code base. These integration problems can slow development and deteriorate software quality. To avoid these problems, our RubyGarage experts needed to build an efficient workflow and automate the development process.

Our team went for continuous integration and delivery, a software development practice of integrating code changes into a shared code base several times per day and keeping an application deployable at any moment.

Continuous integration involves covering software features with automated tests, so we rewrote tests and added new automated tests to provide early bug detection and ensure the quality of every feature. At RubyGarage, we follow a test-driven development methodology to deliver top-notch code.

Continuous integration and delivery helped us add new functionalities to Path LMS as fast as possible and easily upgrade Blue Sky’s e-learning platform if needed.

Blue Sky Platform Tech Stack

Implementing Single Sign-On

Most companies and associations are concerned about the security of their learning and training content and therefore want to be able to control access to it. To solve this problem, the RubyGarage team added single sign-on functionality to Path LMS.

SSO allows corporate clients to integrate their own applications with Path LMS so that end-users only need a single set of credentials. In other words, employees can seamlessly sign in to Path LMS after logging into their company’s application. This way, businesses and associations can have full control over their online learning and training materials. And if an employee no longer works for a company, for instance, then he or she won’t be able to access Path LMS.

If clients go for the SSO functionality, their own applications are fully in charge of all information related to authentication; Path LMS doesn’t store any authentication credentials (such as emails and passwords).

From an end-user’s point of view, SSO makes using Blue Sky’s e-learning platform convenient.

To implement the single sign-on functionality, our team wrote special Ruby gems in compliance with SAML 2.0, OAuth, and OAuth 2 industry standards.

Integrating Partner Services

Lots of businesses, associations, and educational institutions use third-party services for managing membership. Path LMS allows these entities to create new e-learning opportunities for their staff and audiences. Therefore, it was necessary to partner with third-party membership services and integrate them into Path LMS.

Our team implemented single sign-on functionality by integrating MemberClicks, MemberSuite, and other membership management services with Path LMS. If a corporation or association already uses one of Blue Sky’s partner services, their users can seamlessly log in to Path LMS and access educational content.

Moreover, our team integrated GoToMeeting and Adobe Connect to expand the platform’s functionality. These services allow Path LMS clients to create and hold webinars. It works like this: an administrator creates a live event through a partner service and adds it to Path LMS; users are forwarded to that external service to participate in live events. All analytics (number of sign-ups, attendees, duration of sessions, etc.) related to a webinar are then automatically synchronized with Path LMS.

Creating a Live Event in Path LMS
Adding a Live Event

Ensuring Simple Educational Content Management

Blue Sky’s clients needed a simple tool for managing educational content, and our team had to implement this functionality. To do so, we put ourselves in the shoes of potential users to get a clear understanding of what a typical e-learning course looks like, what exactly it may include, and thus what functions we needed to develop.

Having analyzed the behavior of a potential client, we suggested several tools for managing a variety of educational content – from staff training courses to online events for science and healthcare companies.

Here are some examples of how businesses can create and manage their online learning content:

  • Use digital media content to boost the efficiency of educational content. Digital media helps companies better engage their target audiences. Path LMS allows clients to import audio and video files as well as create webinars (with the help of third-party services mentioned above).
  • Implement interactive learning by importing videos, images, audio, and other additional files in e-learning pathways for audiences to study or download.
  • Evaluate the learning progress of audiences by creating custom assessments and surveys based on educational content.
  • Award learners who successfully fulfil a learning pathway with a custom certificate. Path LMS provides an easy-to-use template to create certificates for every online course or event. Certificates are automatically generated and issued to everyone who completes a course.
  • Organizing learning content in pathways and curriculums. End-users need to progress from simpler to more difficult tasks and can’t skip anything.
Customized Learning Pathway
Learning Pathway

Enabling SCORM Support

Imagine that every provider of educational content chose their own standard when creating tests, assessments, surveys, and the like. No doubt that would make learning management systems completely incompatible with each other. Can learning be efficient in such a mess?

To avoid this problem, the Sharable Content Object Reference Model (SCORM) was invented. SCORM is a set of standards for developers when writing code for e-learning software. SCORM-compliant packages can be seamlessly imported into SCORM-compliant e-learning platforms.

Blue Sky’s clients can import SCORM packages into their learning courses; their audiences are then forwarded to the SCORM cloud to complete tasks and the results are synchronized with Path LMS. This way, companies and associations can monitor the progress of their audience and staff.

Our team suggested making Blue Sky’s Path LMS SCORM-compliant. For this purpose, we wrote a special Ruby gem and integrated it into Path LMS.

How to Add a SCORM Package
Adding a SCORM Package

Implementing Monetization Functionality

Today, lots of companies create cloud-based learning content in order to make money. Therefore, Blue Sky’s Path LMS needed monetization functionality as lots of businesses would no doubt use it. Our team suggested some ways to monetize content.

Paid Сontent

Blue Sky’s e-learning platform allows companies to create either free or paid content. If the goal of a business is to train staff, it can opt for free courses; if the goal is to make profit, it can launch paid ones.


Path LMS allows users to promote e-learning content by offering coupons. Path LMS provides two types of coupons:

  • Discount coupons that give users a discount on a certain course or event.
  • Credit coupons that contain a promotional code that a user submits to get a certain amount of money on their Blue Sky account that can be spent on any course.
How Credit Coupons Work
Credit Coupons

Path LMS needed to provide multiple payments options so that users could find the most suitable one for them. Instead of integrating a variety of payment systems separately, our team went for a single universal tool – Spreedly. This payment platform securely stores and tokenizes users’ payment information and forwards it to over 100 payment gateways, including PayPal, Stripe, and Braintree. Spreedly is PCI-compliant, which means it follows the payment card industry security standards. Therefore, all payment data is protected against theft.

How to Apply a Discount Coupon
Applying a Discount Coupon

Wrapping Up

RubyGarage helped Blue Sky quickly turn their initial code into a fully functional cloud-based learning platform that helps businesses deliver educational content and train their employees. Our team continues to support this e-learning platform.

Does your company need a different type of application? Tell us what you need and our team will help you get your idea off the ground.



Gleb B.

Gleb B.


Vlad V.

Vlad V.

Chief Executive Officer

Rate this article!

Not bad
3 rating, average 5 out of 5

Share article with

Comments (0)

There are no comments yet

Leave a comment

Subscribe via email and know it all first!