Projektowanie aplikacji internetowych — projekt nr 4

Ten projekt realizujecie Państwo w 3- bądź 4-osobowych zespołach. Każdy zespół powinien wymyślić swoje własne zagadnienie biznesowe, dostatecznie złożone aby wszyscy członkowie zespołu mieli co robić. Zaimplementowana aplikacja musi mieć kilka serwisów udostępniających swe usługi poprzez REST API oraz frontend wykorzystujący bibliotekę React.

Harmonogram projektu:

Etapy projektu

  1. Określenie zagadnienia biznesowego / problemu.
  2. Określenie wymagań funkcjonalnych.
  3. Projektowanie architektury aplikacji (m.in. określenie jakie usługi będą realizowane przez poszczególne serwisy).
  4. Projektowanie struktury bazy / baz danych.
  5. Projektowanie REST-owych API dla poszczególnych serwisów.
  6. Implementacja.
  7. Testowanie.

Wyniki z etapów 1-3 należy oddać jako plik PDF. Dla etapu 4 można albo dodać schematy tabel do PDF-a, albo w plikach źródłowych z modelami Sequelize mieć porządne komentarze. Etap 5 podobnie — specyfikacja API albo w PDF-ie, albo w pliku w formacie OAS (OpenAPI Specification).

Kod źródłowy proszę trzymać w repozytorium, np. na GitHubie. W logu ma być widać commity od wszystkich członków zespołu. Proszę pamiętać o dodaniu do .gitignore linii z nazwą podkatalogu node_modules (jeśli pliku .gitignore nie ma w głównym katalogu repozytorium, to trzeba go stworzyć).

Wymagania logiczno-techniczne

Projekt powinien uwzględniać następujące elementy analizy problemu oraz architektury:

Wymagane są co najmniej trzy backendowe serwisy REST, w tym serwis autentykacji użytkowników. Przekazywanie informacji o tożsamości zalogowanego użytkownika należy oprzeć o JSON Web Token.

Należy użyć następujących narzędzi i pakietów:

Adresy serwisów REST, lokalizacje baz danych, sekrety kryptograficzne itp. rzeczy muszą być w odpowiednich plikach konfiguracyjnych, a nie wpisane na sztywno w kod źródłowy.

Przy ocenianiu projektu główne znaczenie będzie miała poprawność architektury i jakość kodu. Wygląd witryny jest mało istotny.