Setting up an Offline Learning Management System

    Prachi Vidhate
Listen to this article


A cyber Learning Management System is a great way to reach out to students across the globe. But what if we want to set up an offline LMS, say, for a University? We encountered one such request from one of our clients and it got us all spruced up!

Client requirement

Our client wanted students to attend classes scheduled via an offline LMS. Students who would enroll from a list of courses would get a course schedule and weekly timings of classes. Upon completion of a particular course, they would be assessed and an Instructor would enter a key on their system. The key would generate a certificate with a unique code which can be verified anytime by future scrutineers.

Our Solution

We decided to use WordPress and Gravity forms as the prerequisites for this customization.

A student would enroll in a particular course using gravity forms, on the basis of a schedule for upcoming courses. He would then make payment using the forms. Once he was successfully enrolled, he could proceed to course.

The Student would also get notifications for the course, such as the time and date of the next lesson, quiz etc.

Once a student completes a course, his trainer would come and generate his certificate after evaluation, as mentioned above. One offline LMS served with a smile. 🙂

The Customization in Brief

We used PHP to create the modules including WordPress and Gravity Forms.

For Courses and Schedules, we created a custom post type called Courses. There were Schedules associated with each course. One such schedule had the following details:

  • Dates (start date – end date)
  • Location
  • Price
  • Method: Virtual/Classroom
  • Total seats
  • Remaining seats

One could edit, delete or create a schedule for any course. For every training, there would be an associated trainer and a salesperson. While creating a training schedule, the admin had to select the trainer from a drop-down menu, where only available trainers were shown. After selecting the dates, available trainers would be fetched dynamically.

Details of the Course:

For every course, we had the following options:

  • Description
  • Objectives
  • Attendee
  • Prerequisites
  • Course Outline
  • Career Path
  • About the Trainer
  • Other Details
  • Testimonials
  • Enroll Now

Features for the User

Enrollment in the Course:

We included gravity forms for enrolling the user in the course.The form had the following fields:

  • First name and Last name.
  • Email Id.
  • Schedule of the course
    (Available schedules were shown dynamically for the course, according to availability. Availability was decided on two criteria:
    1. Previous dates.
    2. Vacancies in the Batch.)


The certificate was a custom post type. When a user completed the course, he would get the certificate associated with the course. The Certificate would always be shareable via a link, or downloadable as a PDF.

Get a Friend Along:

This was a feature which allowed a registered user to get a friend with him, like a referral system. The Admin could keep a track of these students.


A calendar was added to a submenu page. A filter was also provided to show the schedules assigned to the selected trainer.


Features for the Admin


Specializations are basically a group of courses. We created a custom post type for them. On the “edit specialization” page, we provided a multi-selection box using which the admin could group courses under the name of specialization.

Recommended Courses:

The Admin could recommend courses to the user. The user would get a notification when a recommended course was sent to him.


The Admin could select a course and schedule of the course from a drop-down menu which had a list of users who were registered for the course as well as their friends.

And the Conclusion is..?

This module can be applied to Universities, Schools, Training Centers, and all other centers where offline learning is essential.

Currently, we have many E-learning plugins and websites, but there is no system which handles the case offline courses. We hope that with our customization, we can bridge the gap between these systems.

How did you like our glitzy customization? We would love to hear your comments!

Prachi Vidhate

Prachi Vidhate

3 Responses

  1. Hi,

    Is this solution available to be used on other sites or was it a once-off for this client? We are looking for something similar.

    1. Hi Dirk,
      This was a client-specific project that we developed. We can definitely turn this into a custom solution for you so it becomes easy for everyone. I have asked our Sales Rep to get in touch with you soon.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get The Latest Updates

Subscribe to our Newsletter

A key to unlock the world of open-source. We promise not to spam your inbox.

Suggested Reads

Join our 55,000+ Subscribers

    The Wisdm Digest delivers all the latest news, and resources from the world of open-source businesses to your inbox.

    Suggested Reads