TECHNICZNE ZADANIE (TZ)
na rozwój platformy do nauki języka angielskiego online
1. Ogólny opis projektu
Cel: stworzyć platformę edukacyjną do nauki języka angielskiego, która umożliwia:
- uczniowi uczestniczenie w lekcjach z nauczycielem (online Zoom);
- uczniowi samodzielne uczestniczenie w lekcjach, bez nauczyciela;
- nauczycielowi sprzedaż poziomów języka angielskiego (A1–C1) osobno;
- sprzedaż specjalnych kursów;
- umożliwienie uczniom stopniowego uczestniczenia w lekcjach;
- automatyczne sprawdzanie testów;
- rezerwowanie zajęć z nauczycielem;
- włączenie automatycznych płatności;
- widzenie postępów ucznia w panelu nauczyciela.
2. Funkcjonalność użytkowników
2.1. Uczeń
Ma możliwość:
- stworzenia swojego konta;
- przeglądania zakupionych kursów i poziomów;
- uczestniczenia w lekcjach (testy, audio, wideo, zadania) po opłaceniu "poziomów języka angielskiego (A1–C1)"
- widzenia swojego postępu;
- rezerwowania lekcji z nauczycielem po opłaceniu "indywidualnych lekcji";
- wykonywania prac domowych z automatycznym sprawdzaniem;
- powtarzania przerobionego materiału;
- otrzymywania automatycznych sprawdzeń testów i zadań;
- otrzymywania powiadomień email w razie potrzeby;
- kupowania nowych lekcji/poziomów/pakietów.
2.2. Nauczyciel
Może:
- przeglądać postępy każdego ucznia;
- przeglądać poprawne/niepoprawne odpowiedzi;
- przeglądać etap realizacji lekcji;
- otwierać bezpłatny dostęp dla wybranych uczniów;
- dodawać/edytować lekcje;
- dodawać testy, audio, wideo, obrazy;
- tworzyć prace domowe;
- otwierać nowe lekcje ręcznie lub automatycznie.
2.3. Administrator
Może (bez programisty):
- zmieniać ceny;
- zmieniać czas trwania lekcji;
- zmieniać dostępność specjalnych kursów;
- zmieniać strony serwisu;
- integrować nowe kursy;
- przeglądać wszystkie transakcje;
- zarządzać płatnościami;
- ustawiać ograniczenia dostępu.
2.4. System rezerwacji zajęć
Funkcjonalność:
- nauczyciel tworzy dostępne sloty;
- uczeń po zakupie "indywidualnych lekcji" widzi wolne sloty;
- nauczyciel potwierdza rezerwację;
- nauczyciel otrzymuje email;
- uczeń otrzymuje email;
- w panelu wyświetlana jest data i godzina lekcji;
- możliwość przeniesienia/odwołania;
- automatyczne odliczenie 1 lekcji po potwierdzeniu.
3. Struktura lekcji
Oddzielna lekcja = oddzielna długa strona:
- blok z wideo;
- blok z audio;
- blok z wyjaśnieniem zasad;
- interaktywne testy z automatycznym sprawdzaniem;
- ćwiczenia drag & drop, wybór ABCD, wprowadzenie tekstu, dopasowywanie;
- przycisk „Zakończ” → sprawdzenie → zapisanie wyniku.
Dodawany przykład na zdjęciu*
- musi być możliwość dla ucznia dodawania słów do osobistego słownika z lekcji. Po naciśnięciu na każde słowo w lekcji jest tłumaczenie oraz "+" z możliwością dodania do swojego słownika. A potem uczeń może pracować ze słownikiem osobno.
Po głównej lekcji:
- po pewnym czasie (60 min) otwiera się strona „Praca domowa” (strona z mniejszą ilością zadań).
4. Dostępy
Dostęp otwiera się:
- po opłaceniu;
- ręcznie przez nauczyciela;
- lub za specjalnym promo.
5. Kursy i poziomy
Poziomy: A1, A2, A2+, B1, B1+, B2, B2+, C1.
Każdy poziom:
- kupowany osobno;
- zawiera 8 rozdziałów po 4 lekcje w każdym, z stroną kontrolną po każdej 4 lekcji;
- ma stronę postępu;
- ma dostęp do kalendarza rezerwacji.
Specjalne kursy:
- mogą być płatne/bezpłatne;
- administrator sam dodaje płatność lub ją usuwa.
6. Platforma lekcji
Trzeba stworzyć konstruktor lekcji z takimi blokami:
- tekst,
- zdjęcie,
- audio,
- wideo,
- test (różne typy),
- wstawka PDF.
Testy powinny:
- automatycznie się sprawdzać,
- zapisywać odpowiedzi,
- pokazywać statystyki nauczycielowi.
7. Postęp ucznia
Powinien zawierać:
- % ukończenia kursu;
- poprawne/niepoprawne odpowiedzi na każdej lekcji;
- historię lekcji;
- wyniki prac domowych;
- datę realizacji.
8. Powiadomienia email
Powiadomienia powinny przychodzić:
- o zakupie;
- o rezerwacji lekcji;
- o przypomnieniu lekcji;
- o otwarciu pracy domowej;
- o zakończeniu każdego rozdziału w poziomie z wynikiem postępu.
9. Technologie
Możliwe opcje:
- WordPress + niestandardowe moduły (zalecane);
- lub Laravel + Vue/React;
- lub inny CMS z panelem administracyjnym.
Wymagania:
- szybkość działania;
- stabilność;
- możliwość rozbudowy bez programisty.
10. Płatności przez API (szczegóły)
Etapy płatności:
1. Zakup poziomu (A1-C1)
2. Zakup lekcji indywidualnych na każde pół-poziomu. (po 16 lekcji, łącznie 32 w poziomie).
3. Po opłaceniu → otwarcie dostępu.
4. Webhook → sprawdzenie → zapis transakcji.
5. Potwierdzenie email.
Trzeba zrealizować:
- Payment Init API.
- Payment Callback/Webhook API.
- Payment History dla admina.
- Refund API (opcjonalnie).
Bezpieczeństwo:
- HTTPS,
- podpis cyfrowy,
- klucze w .env.
11. Kalendarz zajęć
- wewnętrzny system lub integracja przez API;
- tworzenie slotów przez nauczyciela;
- rezerwacja indywidualnych lekcji tylko po opłaceniu;
- możliwość przeniesienia.
12. Panel użytkownika
Uczeń:
- Moje kursy
- Moje lekcje
- Postęp
- Prace domowe
- Rezerwacje
- Płatności
- itd.
Nauczyciel:
- Statystyki uczniów
- Dziennik lekcji
- Odpowiedzi z testów
- Zarządzanie lekcjami
- itd.
Admin:
- Ceny
- Kursy
- Użytkownicy
- Płatności
- Ustawienia
- itd.
13. Design
- minimalistyczny,
- responsywny,
- w stylu aktualnej strony ivanenglish.com (dalej do dopracowania).
Kolory można wziąć z aktualnej strony. Zdjęcia są dołączone.
14. Wymagania dla programisty
- zrobić wszystko „pod klucz”;
- cały system ma być prosty do edytowania;
- żadnych zależności od dewelopera;
- dokumentacja użytkowania panelu administracyjnego.