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:
- Strona główna: zawierająca ogólny opis aplikacji i nawigację do poszczególnych sekcji.
- Nawigacja: menu umożliwiające przejście do różnych części aplikacji.
- Interakcje użytkownika: możliwość wprowadzania danych przez użytkownika (np. formularze) i odpowiednia reakcja aplikacji.
- Walidacja danych: sprawdzanie poprawności wprowadzanych danych zarówno po stronie klienta, jak i ewentualnie po stronie serwera.
- Asynchroniczność: wykorzystanie technologii AJAX do komunikacji z serwerem bez przeładowywania strony.
Wymagania niefunkcjonalne:
- Responsywność: wykorzystanie technik RWD (Responsive Web Design) do dostosowania interfejsu do różnych rozdzielczości ekranów.
- Optymalizacja: minimalizacja czasu ładowania strony poprzez optymalne zarządzanie zasobami (obrazy, skrypty).
- Dostępność: stosowanie standardów ułatwiających dostęp do aplikacji dla osób niepełnosprawnych (ARIA).
- 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)