Stworzycie System rezerwacji sali / sprzętu - aplikację webową, która pozwala użytkownikom rezerwować zasoby (sale konferencyjne, pracownie komputerowe, projektory, laptopy itp.) na określony termin. System rozwiązuje problem chaotycznego zarządzania zasobami w szkole lub firmie - zamiast kartek i ustnych ustaleń, wszystko jest w jednym miejscu. Użytkownikami są pracownicy szkoły, uczniowie lub pracownicy firmy, którzy potrzebują zarezerwować zasób na konkretny dzień i godziny.
Czego się nauczycie?
Projektowania formularzy z polami daty i czasu
Walidacji zakresów czasowych (godzina od < godzina do)
Wykrywania konfliktów między rezerwacjami
Pracy z datami w formacie ISO (YYYY-MM-DD)
Praca zespołowa - podział zadań, współpraca, integracja kodu
Systemy rezerwacji zasobów to codzienność w każdej organizacji. Microsoft Outlook, Google Calendar, systemy hotelowe - wszystkie działają na podobnej zasadzie. Umiejętność projektowania takich systemów jest fundamentem dla każdego programisty aplikacji biznesowych.
Umiejętności rynkowe
Nauczycie się obsługi dat i czasu - jednego z najtrudniejszych aspektów programowania. Zrozumiecie logikę wykrywania konfliktów czasowych, która jest używana w systemach rezerwacji lotów, hoteli, gabinetów lekarskich i wielu innych.
Formularz rezerwacji
Użytkownik wypełnia formularz z danymi: wybiera zasób (sala/sprzęt), datę, godzinę rozpoczęcia i zakończenia, podaje swoje dane oraz cel rezerwacji. Formularz musi być intuicyjny i zawierać odpowiednie typy pól (date, time, select).
Walidacja danych
System sprawdza poprawność wprowadzonych danych - czy wszystkie pola są wypełnione, czy godzina zakończenia jest późniejsza niż rozpoczęcia, czy data nie jest z przeszłości. Błędne dane skutkują czytelnym komunikatem.
Zapis do pliku JSON
Poprawne rezerwacje są zapisywane do pliku JSON z unikalnym identyfikatorem i znacznikiem czasu utworzenia. Dane są strukturyzowane i łatwe do odczytu.
Lista rezerwacji
Użytkownik może przeglądać wszystkie rezerwacje w formie tabeli lub listy. Widoczne są najważniejsze informacje: zasób, data, godziny, osoba rezerwująca.
Ten projekt to symulacja pracy w firmie IT. Nauczycie się nie tylko programować, ale też współpracować w zespole - dzielić zadania, łączyć kod, rozwiązywać konflikty.
Pracujcie iteracyjnie - lepiej mieć działający wariant A niż niedziałający C! Zacznijcie od najprostszej wersji, a potem stopniowo dodawajcie funkcje.