Przejdź do głównej zawartości

Zasady ogólne

  • Projekt realizowany w parach (2 osoby)
  • Oboje muszą znać i rozumieć cały kod
  • Podział pracy musi być równy — nauczyciel może to zweryfikować
  • Podczas obrony każdy odpowiada na pytania dotyczące całości projektu
  • React 18+ z funkcyjnymi komponentami i hookami
  • Czysty JavaScript (ES6+) — bez TypeScript
  • Minimum 3 komponenty (inne niż App)
  • Minimum 2 widoki z React Router
  • README.md z: opisem projektu, instrukcją instalacji i uruchomienia, screenshotami (opcjonalnie)
  • Projekt uruchamia się komendą npm install && npm run dev lub npm start
  • Komponenty klasowe (class extends Component)
  • Gotowe szablony / clone gotowych aplikacji bez zrozumienia
  • Biblioteki komponentów UI zastępujące cały layout (np. Material UI bez własnego CSS)
  • Plagiat, kopiowanie cudzych projektów
  • AI-generated code bez zrozumienia i modyfikacji
  • Vite jako bundler (szybszy niż CRA)
  • CSS Modules lub zwykły CSS (Tailwind dozwolony)
  • Fetch API lub axios do komunikacji z zewnętrznym API
  • localStorage do persystencji danych (jeśli bez backendu)
  • Termin podaje nauczyciel na początku semestru
  • Forma oddania: archiwum ZIP lub link do repozytorium GitHub
  • Archiwum nie może zawierać folderu node_modules/
  • Projekt musi się uruchamiać po npm install

Obrona trwa 10-15 minut i obejmuje:

  1. Krótką demonstrację działania aplikacji (3-5 min)
  2. Pytania do kodu — np. “jak działa ten hook?”, “dlaczego taki podział komponentów?”
  3. Ewentualne modyfikacje na żywo (wariant C)