Zasady pracy nad projektem
Podstawowym celem zajęć jest uruchomienie aplikacji w wersji MVP oraz zrobienie tego w sposób z którym spotkacie się w pracy
Praca w zespole
- Praca odbywa się w zespołach 3-osobowych.
Organizacja pracy w zespole
- Wspólne repozytorium: Wszystkie zespoły tworzą repozytorium na gitlab.com.
- Zarządzanie zadaniami: Wszystkie zadania należy rejestrować i śledzić w Jira.
- Komunikacja: Używajcie Slacka jako głównego narzędzia do komunikacji.
Zasady programowania
Podczas tworzenia projektu stosujemy następujące zasady:
- SOLID: Zasady projektowania obiektowego, które pomagają pisać łatwy do modyfikacji kod.
- DRY (Don't Repeat Yourself): Unikajcie powtarzania tego samego kodu.
- YAGNI (You Aren't Gonna Need It): Implementujcie tylko to, co jest naprawdę potrzebne.
- KISS (Keep It Simple, Stupid): Starajcie się, aby kod był prosty i czytelny.
Wykorzystanie AI
- Zachęcam :), abyście wykorzystywali narzędzia AI nie tylko do generowania kodu, ale także używali jako część projektu.
Technologie i wymagania aplikacji
- Wolny wybór technologii: Możecie używać dowolnych technologii, które uważacie za odpowiednie.
- Responsywność: Aplikacja musi być responsywna – dobrze, jeśli będzie to Single Page Application (SPA).
- Testy:
- Testy jednostkowe: Przykładowo przy użyciu narzędzia Jest.
- Testy end-to-end (e2e): Przykładowo przy użyciu Playwright lub Cypress.
- Docker: Dobrze widziane jest użycie Dockera oraz pliku
docker-compose.yaml.
- CI/CD: Zachęcam do wdrożenia procesu CI/CD do automatycznego budowania aplikacji, testowania i wdrażania.
- Wdrożenie: Aplikacja musi być wdrożona i dostępna publicznie.