TECHNICAL TASK (TT)
for the development of a platform for online English language learning
1. General project description
Goal: to create a learning platform for studying the English language that allows:
- students to take lessons with a teacher (online Zoom);
- students to take lessons independently, without a teacher;
- teachers to sell English language levels (A1–C1) separately;
- to sell special courses;
- to allow students to take lessons gradually;
- to automatically check tests;
- to book classes with a teacher;
- to connect automatic payments;
- to see the student's progress in the teacher's cabinet.
2. User functionality
2.1. Student
Has the ability to:
- create their account;
- view purchased courses and levels;
- take lessons (tests, audio, video, tasks) after payment for "English language levels (A1–C1)";
- see their progress;
- book lessons with a teacher after payment for "individual lessons";
- complete homework with automatic checking;
- review completed material;
- receive automatic checks of tests and tasks;
- receive email notifications if necessary;
- purchase new lessons/levels/packages.
2.2. Teacher
Can:
- view the progress of each student;
- view correct/incorrect answers;
- view the stage of lesson completion;
- grant free access to individual students;
- add/edit lessons;
- add tests, audio, video, images;
- create homework assignments;
- open new lessons manually or automatically.
2.3. Administrator
Can (without a programmer):
- change prices;
- change lesson durations;
- change the availability of special courses;
- change website pages;
- integrate new courses;
- view all transactions;
- manage payments;
- set access restrictions.
2.4. Class booking system
Functionality:
- the teacher creates available slots;
- the student sees free slots after purchasing "individual lessons";
- the teacher confirms the booking;
- the teacher receives an email;
- the student receives an email;
- the date and time of the lesson are displayed in the cabinet;
- the ability to reschedule/cancel;
- automatic deduction of 1 lesson after confirmation.
3. Lesson structure
Individual lesson = individual long page:
- block with video;
- block with audio;
- block with rule explanations;
- interactive tests with auto-checking;
- drag & drop exercises, ABCD selection, text input, matching;
- "Finish" button → check → record result.
An example is added in the photo*
- students should have the ability to add words to their personal dictionary from the lessons. By clicking on each word in the lesson, there is a translation and a ""+"" option to add it to their dictionary. Then the student can work with the dictionary separately.
After the main lesson:
- after a certain time (60 min), the "Homework" page opens (a page with a smaller volume of tasks).
4. Access
Access is granted:
- after payment;
- manually by the teacher;
- or via a special promo.
5. Courses and levels
Levels: A1, A2, A2+, B1, B1+, B2, B2+, C1.
Each level:
- is purchased separately;
- contains 8 sections with 4 lessons each, with a control page after every 4 lessons;
- has a progress page;
- has access to the booking calendar.
Special courses:
- can be paid/free;
- the administrator adds or removes payment.
6. Lesson platform
A lesson builder needs to be created with the following blocks:
- text,
- photo,
- audio,
- video,
- test (various types),
- PDF insertion.
Tests should:
- be automatically checked,
- save answers,
- show statistics to the teacher.
7. Student progress
Should include:
- % completion of the course;
- correct/incorrect answers for each lesson;
- lesson history;
- homework results;
- completion date.
8. Email notifications
Notifications should be sent:
- about purchases;
- about lesson bookings;
- about lesson reminders;
- about the opening of homework;
- about the completion of each section in the level with progress results.
9. Technologies
Possible options:
- WordPress + custom modules (recommended);
- or Laravel + Vue/React;
- or another CMS with an admin panel.
Requirements:
- speed of operation;
- stability;
- ability to expand without a programmer.
10. Payments via API (in detail)
Payment stages:
1. Purchase of level (A1-C1)
2. Purchase of individual lessons for each half-level. (16 lessons each, totaling 32 in the level).
3. After payment → access opening.
4. Webhook → verification → transaction recording.
5. Email confirmation.
It is necessary to implement:
- Payment Init API.
- Payment Callback/Webhook API.
- Payment History for the admin.
- Refund API (optional).
Security:
- HTTPS,
- digital signature,
- keys in .env.
11. Class calendar
- internal system or integration via API;
- creation of slots by the teacher;
- booking of individual lessons only after payment;
- possibility of rescheduling.
12. Personal cabinet
Student:
- My courses
- My lessons
- Progress
- Homework
- Bookings
- Payments
- etc.
Teacher:
- Student statistics
- Lesson journal
- Test responses
- Lesson management
- etc.
Admin:
- Prices
- Courses
- Users
- Payments
- Settings
- etc.
13. Design
- minimalist,
- responsive,
- in the style of the current site ivanenglish.com (to be further refined).
Colors can be taken from the current site. Photos are attached.
14. Requirements for the programmer
- to do everything "turnkey";
- the entire system must be easy to edit;
- no dependencies on the developer;
- documentation for using the admin panel.