Skip to content

Solvro/mobile-wakacyjne-wyzwanie-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Od zera do flutter developera

Struktura i Harmonogram Kursu

Kurs został zaprojektowany jako intensywny, 7-tygodniowy program, łączący regularną naukę z praktycznym projektem końcowym.

  • Całkowity czas trwania: 7 tygodni.
  • Moduły tematyczne: 5 tygodni poświęconych na realizację cotygodniowych list zadań.
  • Projekt Finałowy: 2 tygodnie przeznaczone na samodzielną realizację projektu końcowego.
  • Spotkania cykliczne: Cotygodniowe sesje "Lightning Talks" (20+ minut), poświęcone na omówienie kluczowych zagadnień i sesję Q&A.

Wymagania

  • podstawowa znajomość paradygmatu obiektowego i funkcyjnego

Spis treści

  • Lista 0 (Podstawy Darta i Konfiguracja Środowiska).
    Zgłębianie kluczowych elementów składni języka Dart, instalacja Flutter SDK oraz przygotowanie profesjonalnego środowiska programistycznego (IDE i emulator/urządzenie).
  • Lista 1 (Podstawowe funkcjonalności Flutter'a).
    Wprowadzenie do filozofii "Everything's a widget". Praktyczne wykorzystanie widżetów Stateless i Stateful oraz budowanie pierwszych, responsywnych layoutów.
  • Lista 2 (Zarządzanie stanem i nawigacja w aplikacji).
    Implementacja przepływu danych i logiki za pomocą wzorców zarządzania stanem (Riverpod, flutter_hooks) oraz obsługa nawigacji między ekranami przy użyciu GoRouter API.
  • Lista 3 (Trwałość Danych i Adaptacyjny Interfejs).
    Wykorzystanie pamięci lokalnej do przechowywania danych aplikacji (np. shared_preferences, sqlite, no-sql) oraz implementacja dynamicznej zmiany motywu (Light/Dark Theme) w oparciu o stan aplikacji.
  • Lista 4 (Pozyskiwanie danych z api i autentykacja użytkownika).
    Obsługa zapytań HTTP do zewnętrznych API, przetwarzanie danych w formacie JSON oraz implementacja kompletnego procesu autentykacji użytkownika (rejestracja, logowanie).
  • Lista 5 (Filtrowanie, wyszukiwanie i dokończenie CRUD-a).
    Kompleksowa implementacja operacji CRUD (Create, Read, Update, Delete) na zbiorze danych, uzupełniona o funkcjonalności dynamicznego wyszukiwania i filtrowania wyników.

Projekt

Kulminacja kursu w formie intensywnego, dwutygodniowego sprintu. Celem jest samodzielne zaprojektowanie i zakodowanie w pełni funkcjonalnej aplikacji, która ugruntuje zdobytą wiedzę i stanie się centralnym punktem Twojego portfolio. Tematyka oraz zakres projektu muszą zostać uprzednio skonsultowane i zaakceptowane przez prowadzącego kurs.

Zasady uczestnictwa w kursie

Aby zapewnić sprawną organizację kursu oraz efektywną komunikację, wszyscy uczestnicy zobowiązani są do przestrzegania poniższych zasad:

  • Komunikacja i Wsparcie: Platforma Discord jest oficjalnym kanałem komunikacji. W przypadku jakichkolwiek problemów, pytań lub wątpliwości dotyczących materiału, jest to właściwe miejsce do uzyskania pomocy i prowadzenia dyskusji.

  • Organizacja Pracy w Git: Prace nad zadaniami należy prowadzić na osobnej gałęzi (branch) w systemie Git, stosując format nazewnictwa: {numer_listy}-{imie}-{nazwisko}.

  • Zgłaszanie Zadań do Sprawdzenia: Ukończone zadania należy zgłaszać poprzez utworzenie Pull Requesta na platformie GitHub. Tytuł Pull Requesta musi być zgodny ze schematem: {numer_listy}-{imie}-{nazwisko} oraz w opisie pull requesta powinny być załączone screenshoty pokazujące stworzone UI. Pipeline (CI/CD) powiązany z Pull Requestem musi przechodzić poprawnie – wszystkie jego kroki muszą świecić się na zielono.

  • Wyznaczenie Recenzentów: W polu "Reviewers" utworzonego Pull Requesta należy oznaczyć prowadzących kurs: tomasz-trela oraz simon-the-shark.

  • Proces Code Review: Wszelkie uwagi, sugestie oraz prośby o poprawki dotyczące kodu będą przekazywane bezpośrednio na platformie GitHub w formie komentarzy w ramach procesu Code Review zgłoszonego Pull Requesta.

  • Chronologia Realizacji Zadań: Poszczególne listy zadań (moduły) muszą być realizowane w porządku chronologicznym. Ukończenie i zaliczenie danej listy jest warunkiem koniecznym do rozpoczęcia pracy nad kolejną.

  • Terminowość: Każda lista zadań posiada termin na jej ukończenie, wyznaczony przez prowadzącego kurs. W przypadku przewidywanego opóźnienia, uczestnik jest zobowiązany do wcześniejszego poinformowania o tym fakcie prowadzącego wraz z podaniem przyczyny.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published