Cel projektu
Stworzyć w zespole prostą aplikację webową umożliwiającą:
- wspólny czat dla wszystkich uczestników lekcji,
- prywatną notatkę dla każdego ucznia,
- tablicę tekstową edytowaną tylko przez belfra.
Aplikacja działa w przeglądarce, z backendem w PHP i bazą danych MySQL.
Założenia techniczne
Backend (API – PHP)
- Serwer API w PHP
- Komunikacja w formacie JSON (REST).
- Główne endpointy:
GET /messages?last_id=X– pobiera nowe wiadomości (polling co 2s).POST /messages– dodaje nową wiadomość.GET /board/POST /board– odczyt/zapis tablicy nauczyciela.GET /notes/POST /notes– odczyt/zapis prywatnych notatek.
- Autoryzacja (role:
teacher/student).
Frontend (JS + Bootstrap)
- Jednostronicowa aplikacja (
index.html). - 3 główne sekcje UI:
- Tablica nauczyciela – widoczna dla wszystkich, edytowalna tylko przez belfra.
- Czat grupowy – wszyscy mogą pisać i widzieć wiadomości w czasie rzeczywistym (polling co 2s).
- Prywatne notatki – widoczne tylko dla zalogowanego użytkownika.
- Komunikacja z API za pomocą
fetch().
Baza danych (MySQL)
Tabele przykładowe:
users(id, name, role)messages(id, user_id, text, created_at)board(id, content, updated_at)notes(id, user_id, content, updated_at)
Działanie aplikacji
- Użytkownik loguje się
- Co 2 sekundy frontend pobiera nowe wiadomości (
polling). - Nauczyciel może edytować tablicę tekstową → zapis przez API.
- Każdy użytkownik może:
- pisać na czacie,
- zapisywać własną notatkę (przez API lub dodatkowo lokalnie).
Organizacja pracy zespołowej
Role w zespole (przykład podziału)
- Frontend Developer – interfejs użytkownika (Bootstrap, JS).
- Backend Developer – API i baza danych (PHP + MySQL).
- UX/UI Designer – układ strony, użyteczność, style.
- Tester / Dokumentalista – README, testy, opisy endpointów.
Praca na github.com
Oceniane elementy projektu
Wystawiam dwie oceny:
- Zespołową ocenę jakości współpracy (ocena wagi 3) – taką samą dla wszystkich
- Indywidualną ocenę jakości dodawanego kodu (ocena wagi 1) – może być różna dla wszystkich
W ocenie zespołowej zwracam uwagę na:
- Widoczność w repozytorium eksperymentów dotyczących działania gita (na początkowym etapie)
- Naturalność wprowadzanych ulepszeń w kodzie (jeśli jedna osoba doda większość kodu w krótkim czasie to źle)
- Praca widoczna w repozytorium obejmuje cały czas trwania projektu
- Czy praca nad projektem odbywa się również z domu 🙂
Dodatkowe punkty za:
- Rejestrację/logowanie z rolami (uczeń/nauczyciel),
- Pokazywanie, kto jest online,
- Responsywny wygląd (mobile-friendly),
- Dokumentację API w pliku
api-docs.md.
Twój komentarz