Wymagania projektowe

by Mateusz Pawełkiewicz published 2024/10/11 15:36:00 GMT+1, last modified 2024-10-15T14:29:31+01:00

Zakres projektu:

  • Tematyka aplikacji: dowolna, zgodna z zainteresowaniami studentów (np. aplikacja do zarządzania zadaniami, blog, sklep internetowy).
  • Interfejs użytkownika: intuicyjny, responsywny design dostosowany do różnych urządzeń (desktop, tablet, smartfon).
  • Funkcjonalności: minimum trzy główne funkcjonalności interaktywne (np. formularz kontaktowy, filtrowanie danych, dynamiczne ładowanie treści).

Wymagania funkcjonalne:

  1. Strona główna: zawierająca ogólny opis aplikacji i nawigację do poszczególnych sekcji.
  2. Nawigacja: menu umożliwiające przejście do różnych części aplikacji.
  3. Interakcje użytkownika: możliwość wprowadzania danych przez użytkownika (np. formularze) i odpowiednia reakcja aplikacji.
  4. Walidacja danych: sprawdzanie poprawności wprowadzanych danych zarówno po stronie klienta, jak i ewentualnie po stronie serwera.
  5. Asynchroniczność: wykorzystanie technologii AJAX do komunikacji z serwerem bez przeładowywania strony.

Wymagania niefunkcjonalne:

  1. Responsywność: wykorzystanie technik RWD (Responsive Web Design) do dostosowania interfejsu do różnych rozdzielczości ekranów.
  2. Optymalizacja: minimalizacja czasu ładowania strony poprzez optymalne zarządzanie zasobami (obrazy, skrypty).
  3. Dostępność: stosowanie standardów ułatwiających dostęp do aplikacji dla osób niepełnosprawnych (ARIA).
  4. Czytelność kodu: stosowanie dobrych praktyk programistycznych, komentarzy i spójnego formatowania kodu.

Technologie:

  • HTML5 do struktury strony.
  • CSS3 (w tym Flexbox, Grid) do stylizacji i układu.
  • JavaScript ES6+ do interaktywności.
  • Framework/biblioteka JavaScript (np. React, Angular, Vue.js) do zarządzania stanem aplikacji i komponentami.
  • Opcjonalnie: preprocesory CSS (Sass, Less), narzędzia do budowania (Webpack, Babel).

Kamienie milowe:
Pierwszy Kamień Milowy - 3 zajęcia projektowe (mockupy)
Drugi Kamień Milowe - 5 zajęcia projektowe (zaimplementowane mockupy wraz wyświetlaniem danych z bazy bądź ze statycznego pliku JSON)