PROJECT

Learning management software for courses, assessments, and progress tracking

Custom LMS development, Course and content management, Learner progress tracking, Online quizzes and assignments, Role-based access, Reports and certificates, Responsive web application

  • Industry: Education and training
  • Greece Location: Greece
  • Delivery time: 16 weeks
  • Technologies: PHP, JavaScript / TypeScript (Node.js)
4+ months

This client spends time coordinating courses, learning materials, and assessments. The solution is learning management software for an education provider in Greece. Course teams add videos, documents, and PDFs. Students complete quizzes and submit assignments. Instructors and course administrators can track course progress and completion status in one responsive LMS.

Summary

Problem

The education provider manages course content, learners, and assessments.

Solution

The solution became a responsive LMS that brings courses, content, and assessments into one place.

Result

The software is made to reduce manual course administration and assessment-related rework.

Client story

The client is an education provider from Greece. It delivers self-paced or live courses and serves learners through course materials, enrolment, assessments, and progress tracking.

Course teams manage videos, documents, and PDFs. They also maintain text lessons, interactive lessons, downloadable resources, and student records.

The request was simple: provide responsive access on desktop, tablet, and mobile. The client also asked to manage mixed learning content and separate capabilities by role. It also needed to support quizzes, tests, and assignments.

Grading and assessment results were part of the request as well.

The solution was shaped as a modular LMS with course management and learner dashboards. Reports and certificate administration supported its reporting needs.

The client asked for

  1. Work responsively on desktop, tablet, and mobile devices
  2. Manage courses and mixed learning content
  3. Give each role its own capabilities
  4. Run quizzes, tests, assignments, and grading

Why ready-made software did not fit

Ready-made LMS products cover course delivery, classroom communication, or configurable training. A custom LMS was a better fit for bringing course management, learner records, and optional certificates into one responsive website. It also allowed the client's roles, content, and assessments to be arranged together. Reporting and administration were arranged alongside them.

Project overview

The solution was designed around a responsive web application, so the education provider has one LMS experience across desktop, tablet, and mobile devices.

To handle course administration, a course and content area was provided. Educators and administrators create, edit, and organise courses.

They arrange modules and lessons with videos, documents, and PDFs. Text, interactive lessons, and downloadable resources are also included.

Role-based access separates capabilities for administrators, instructors, and teachers. Students, learners, partners, and clients receive access suited to their learning activity.

A learner progress dashboard brings enrolment, completion, and scores into one view. The assessment workspace supports quizzes and assignment submissions, while educators review assessment activity and results.

Special attention was paid to the operational side of learning delivery. Notifications, reports, and certificate records can be extended later.

Key features delivered

  • Course creation, editing, deletion, and organisation
  • Modules, lessons, and mixed learning materials
  • Role-based access for education teams and learners
  • Student records, enrolments, and course assignments
  • Learner progress and completion tracking
  • Quiz and assignment management
  • Assessment review and results summaries
  • Class scheduling and discussions
  • Reports with JSON export
  • Course completion certificates

Can be added

+ Interactive quizzes + Certificate issuance + Community discussions + Viewer analytics + Watch-time analysis + JSON reports

Who else can use this solution

These businesses have a similar task, and the same solution can be adapted to their course delivery and learner administration.

A professional training centre

Task It serves learners across locations or organisations with courses, assessments, and progress records.
How the solution helps The LMS brings training content, role-based access, quizzes, assignments, and completion reporting into one place.

An online learning business

Task It offers memberships, subscriptions, or multi-instructor courses to learners online.
How the solution helps The solution organises courses and instructors while supporting learner access, assessments, progress, and certificates.

An educational institution

Task It delivers courses to students and teachers with separate learning and administration needs.
How the solution helps The LMS connects course content, student records, assessments, teacher activity, and performance reports.

Technology stack

PHP

LMS application language

PHP supports the core LMS application and its course management features.

JavaScript / TypeScript (Node.js)

Responsive interface language

JavaScript and TypeScript support the responsive web interface and browser-based functions.

Python

Analytics and document language

Python supports analytics, PDF handling, documentation, and data-related functions.

escolalms/core

Core LMS functions

escolalms/core (a PHP headless LMS library) provides core learning management functions.

escolalms/categories

Course category management

escolalms/categories (a PHP LMS category library) organises course categories.

pymupdf

Extract PDF content

pymupdf (a Python library for PDF extraction and conversion) handles PDF content in the LMS.

d3-dsv

Read and format CSV

d3-dsv (a JavaScript library for CSV and TSV files) supports delimited data import and export.

@docusaurus/core

Build documentation website

@docusaurus/core (a JavaScript documentation site generator) supports LMS documentation.

pdf

Create PDF documents

pdf (a JavaScript library for basic PDF files) supports PDF document creation.

Integrations

Stripe or PayPal

The LMS can connect course access with payments through Stripe or PayPal.

Google Analytics

Google Analytics receives analytics information from the learning platform.

Videotile

Videotile provides video learning content for courses.

WordPress

WordPress can exchange site and course information with the LMS through its APIs and related LMS tools.

The result

Course content stays organised for educators

The course management screen gives educators and administrators one place for courses, modules, lessons, and learning materials. Videos, documents, and PDFs remain connected to the relevant course.

Course status and assignments are shown with the course structure, so the education provider can keep administration close to content management.

How it works

  1. The LMS displays course records with their modules and lessons.
  2. The content area stores videos, documents, PDFs, text, interactive lessons, and downloads.
  3. Course assignments and status appear with the relevant course records.
  • Create, edit, and delete courses
  • Organise modules and lessons
  • Upload mixed learning materials
Course and content management

Course and content management

Functions on this screen
Manage online courses Manage course content Course Structure Organization Upload Training Materials Manage users and courses

Progress is visible across learners and courses

The learner dashboard brings enrolment, progress, and completion into a single review area. It also shows scores and performance for learner records.

Instructors and course administrators can use the same screen to follow learner records and identify the status of course work.

How it works

  1. The learner table displays student and enrolment records.
  2. Progress indicators show course progress and completion status.
  3. The summary displays scores and performance data for the selected course and learner records.
  • Filter by course and learner
  • Review completion status
  • Compare scores and performance
Note: Progress, completion, scores, and performance are kept alongside learner and enrolment records.
Learner progress dashboard

Learner progress dashboard

Functions on this screen
Track course progress Student Management Updates Manage users and courses

Assessments and assignments follow the learning path

The assessment workspace connects quizzes, assignment submissions, and educator review. Students complete the required learning checks, while educators see the related submissions and assessment activity.

The educator review area displays quiz and assessment results.

How it works

  1. The workspace displays quiz instructions and questions.
  2. The assignment area stores student submission files and assessment status.
  3. The educator review area displays quiz results and assessment results.
  • Complete quizzes
  • Submit assignments
  • Review assessment results
Assessment and assignment workspace

Assessment and assignment workspace

Functions on this screen
Submit Assignments and Complete Quizzes Update quizzes and assessments Interactive Quiz Creation

Classes and discussions are part of course delivery

The class schedule and discussions screen joins class dates, assignment schedules, and discussion topics. Teachers, administrators, community managers, and moderators work with the course and event information in the same area.

Discussion topics and moderation controls support communication around the learning activity.

How it works

  1. The calendar displays class information and assignment dates.
  2. The discussion list displays course discussion topics.
  3. Announcements and notifications display course and event information.
  • Schedule classes
  • Manage assignment dates
  • Review discussion topics
Class schedule and discussions

Class schedule and discussions

Functions on this screen
Manage class scheduling Manage Community Discussions

Reports and certificates support administration

Managers, analysts, and course managers can review completion and performance information before generating reports. Quiz information is included in the reporting view.

JSON export makes the report data available for further analysis. The same area keeps certificate issuance beside certificate records.

How it works

  1. The report area filters progress, completion, quiz, and performance records.
  2. The report module creates JSON reports from the selected records.
  3. The certificate area issues certificates and displays certificate records.
  • Generate reports for analysis
  • Filter completion and performance data
  • Issue course certificates
Tip: Certificate records stay with the completion and performance information used for course administration.
Reports and certificate administration

Reports and certificate administration

Functions on this screen
Generate reports for analysis Issue Course Certificates

What the solution gives

With this solution, the education provider can:

  • Manage online courses and mixed learning content
  • Give administrators, educators, teachers, and learners appropriate access
  • Track enrolments, progress, completion, scores, and performance
  • Run quizzes and collect assignment submissions
  • Schedule classes and review discussions
  • Generate reports and issue completion certificates

Could ready-made systems do the job?

Before the design, the task was compared with ready-made products by their own descriptions.

What the client needs Education LMS Google Classroom, Sakai, D2L Brightspace Configurable LMS Open LMS, BrainCert WordPress LMS LearnDash Custom solution
Responsive access across devices —
Manage mixed course content
Separate role capabilities partly
Quizzes, assignments, grading
Fits the client's own rules: stages, roles, reports partly partly partly
All steps in one place —
No manual steps between programs partly — —

By the public descriptions of the products and their category.

Ready-made LMS products cover course content, roles, assessments, and progress to different degrees. A ready-made product is enough when the task is limited to one of these areas.

This client needed its own software because the required roles, content formats, assessment work, reports, and administration had to follow one operating model. The parts also had to stay together instead of being spread across separate products and manual steps.

In the end

In the end, the solution was made to reduce manual course administration around content, assessments, and learner progress.

FAQ

Thinking about building a similar system? These answers explain the main choices around course management, roles, assessments, and learner progress.