← All projects

2018 · worked for 3 years 3 months

On my own Stores and payments Education Russia

Online language school: paid hours and scheduling

The school sold lessons in packs of hours, kept the schedule, and reminded students about lessons and payments on its own.

The site, accounts, and admin of the Road Abroad school. The project was started before me; I took it over and developed it for three years.

Stack

  • PHP
  • Yii2
  • JavaScript
  • AmoCRM

The task

Road Abroad is an online foreign-language school. A student leaves a request, buys a pack of hours, and studies with a teacher on a schedule. Without a system all of this would live in email and spreadsheets: who paid how much, when the lesson is, whom to remind.

What I did

The Yii2 project was started before me. From September 2018 to December 2021 I took it over and led the main development; in spring 2020 colleagues did part of the work.

  • Paying in hours. A calculator and rates by language and teacher type, a trial lesson, discounts, and promo codes. Payment through Robokassa with signature checks and through PayPal. For students outside Russia: prices in yuan, hints on paying via WeChat and Alipay, and manual payment entry. A payment log with search and export.
  • Schedule and lessons. A calendar in the admin and in the student account: rescheduling, cancelling, attendance, homework, joining the lesson. After a lesson an hour was deducted automatically, and when no paid hours were left, the button to join a lesson was disabled.
  • Emails without people. Reminders about a trial lesson 8 hours and 1 hour before, a missed lesson, an unfilled questionnaire, and 2, 1, or 0 hours left. The same email never arrived twice, and a student could turn the emails off.
  • Four roles. Student, teacher, methodologist, and administrator each saw their own part; access was checked on the server.
  • Pay and ratings. A teacher's monthly pay without trial lessons, and lesson ratings from students.
  • The school site. The home page, prices, requests, rules, and an encyclopedia of articles. I replaced JivoSite with the AmoCRM chat and added Yandex Metrica and the VK pixel.

What it changed

Requests, payments, the schedule, and reminders worked in one system, without separate spreadsheets. The methodologist saw who had paid and how many hours were left, and stepped in when hours ran out. The teacher and the administrator agreed on pay figures and did not recount the month by hand.

3 yearsof developing the school
4 rolesstudent, teacher, methodologist, administrator
2 currenciesroubles and yuan
← All projects