Igor Kordaczuk

Igor Kordaczuk

My GitHub Projects

AcademyPoint

Custom extension for MedusaJS developed for szkolaorlow.pl to streamline the enrollment and payment management process for educational courses.

MedusaJS_logo TS_logo MedusaJS_logo TS_logo React_logo Railway_logo Postgresql_logo Postgresql_logo

Overview

Academy Point is a backend system built on top of MedusaJS designed to automate and simplify the process of managing course enrollments for students.

Previously, the client handled registrations via email and phone, and stored enrollment data in Excel spreadsheets. Processing these records required significant manual work and made it difficult to track customer history, manage recurring services, and collect payments efficiently.

The goal of this project was to create a system that:

  • centralizes customer and order data
  • automates payment collection
  • simplifies order management
  • enables tracking of student enrollments and services

The system allows staff to create and manage orders for families enrolling children in courses or tutoring sessions, while customers receive email notifications and can pay for their orders online.

Business Context

The client runs an educational institution offering:

  • group courses
  • tutoring sessions
  • recurring educational services

Each family may enroll multiple children into different courses. The system supports managing families, students, and course enrollments while maintaining full visibility into orders, payments, and service fulfillment.

Key Features

1. Automated Payment Collection

The platform includes a payment automation system integrated with:

  • Stripe
  • BLIK payments

Customers receive an email containing their order and a payment link. They can complete the payment independently without staff intervention.

Key capabilities:

  • automated payment requests
  • payment status tracking
  • integration with Medusa order lifecycle
  • support for online payment methods commonly used in Poland

2. Family Management

A custom family management module was implemented to reflect the real-world structure of the client’s customers.

  • grouping multiple students under a single family
  • tracking order history for each family
  • creating new orders for existing families
  • scheduling future orders
  • automatic renewal of recurring services

Create family student and parent profiles to simplify order management and billing.

Edit family members

Schedule upcoming billing for a family

Draft order renewal

3. Course and Student Management

The system introduces domain logic for managing:

  • students
  • course groups
  • enrollments

Each student can be assigned to specific course groups, allowing administrators to track whether the services delivered match the ordered and paid services.

  • verification of enrollment vs purchased services
  • monitoring group capacity
  • managing student-course assignments
  • ensuring operational consistency between orders and course participation

AcademyPoint allows a quick overview of which student attends which class groups, enabling the owner to efficiently verify whether course billing aligns with the lists of participants assigned to each group.

System Architecture

The solution is implemented as a custom extension to MedusaJS, leveraging its modular architecture to introduce domain-specific functionality.

Core components include:

  • custom modules extending Medusa services
  • payment integrations
  • order lifecycle automation
  • domain entities for families, students, and course groups

The backend acts as the operational hub for managing educational services and customer payments.

Benefits

  • reduced manual work previously required for Excel-based workflows
  • centralized management of families, students, and orders
  • automated payment collection
  • improved visibility into customer history
  • reduced administrative overhead

Future Improvements

  • customer self-service portal
  • automated reminders for unpaid orders
  • attendance tracking for course sessions
  • reporting and analytics for enrollment trends

Client

Developed for: szkolaorlow.pl
Educational services provider specializing in courses and tutoring for students.