- Aplikacja realizowana na laboratoriach z przedmiotu Inżynieria Oprogramowania.
- Aplikacja ma na celu zbieranie opinii o produktach z różnych kategorii.
- Zespół realizujący aplikację składał sie z 14 osób podzielonych na 6 dwuosobowych zespołów projektantów i jeden dwuosobowy zespół architektów.
- Architekci odpowiedzialni byli za stworzenie projektu systemu, podział systemu na moduły i integrowanie zaimplementowanych modułów ze sobą.
- Projektanci odpowiedzialni byli za zaprojektowanie szczegółowe swojego modułu oraz jego implementację.
Szczegółowy opis odpowiedzialności modułów można znaleźć w prezentacji architektów
- Spring Boot
- Angular
- Hibernate ORM
- PostgreSQL
- Materialize
- Bootstrap
- OAuth 2.0 (Google i Facebook)
- JWT
Nazwa modułu | Projektant | Projektant |
---|---|---|
Moduł zarządzania produktami | Bartłomiej Czajkowski | Jan Rubacha |
Moduł kategorii | Klaudia Hołonowicz | Stanisław Jarecki |
Moduł użytkowników | Rafał Strzałkowski | Mateusz Sochacki |
Moduł opinii | Łukasz Stępień | Tomasz Lesiak |
Moduł katalogu produktów oraz pytań i odpowiedzi | Jakub Marszał | Mateusz Dargiel |
Moduł obsługi zdarzeń | Świędrych Szymon | Bartosz Drągowski |
- zainstalować oprogramowanie
Docker
w systemie operacyjnym (w przypadku Windowsa potrzebny jest równieżDocker Desktop
) https://docs.docker.com/desktop/install/windows-install/ - zbudować kontener zawierający bazę danych poprzez uruchomienie z poziomu IntelliJ pliku
docker-compose.yml
lub z terminala z folderu zawierającego ten plik poleceniemdocker compose up
- sprawdzić, czy baza PostgreSQL została poprawnie utworzona, nawiązując połączenie z poziomu IntelliJ (z prawej strony
klikamy
Database
>New
>Data Source
>PostgreSQL
, oraz wpisujemy nazwę użytkownika(iouser
), hasło(iopassword
) oraz nazwę bazy danych(iodb
) oraz klikamyTest Connection
) - jeśli można się połączyć z bazą danych, aplikacja backendowa powinna bez problemu się uruchomić, by to zrobić
uruchamiamy główną klasę aplikacji (
OpinionCollectorApplication
) - aby uruchomić frontend, należy mieć zainstalowanego
node.js
orazAngular CLI
(https://www.knowledgehut.com/blog/web-development/install-angular-on-windows), wtedy należy przejść w terminalu do katalogufrontend
w projekcie i stamtąd wykonać polecenienpm install
, następnieng serve
- zainstalować certyfikat
Do /etc/hosts należy dodać następującą linjkę:
127.0.0.1 opinioncollector.com
np.:
# Standard host addresses
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# Custom host addresess
127.0.1.1 opinioncollector.com
oraz zainstalować certyfikat: opinoncollector.crt
wystarczy kliknąć 2 razy i zainstalować jako główny urząd certyfikacji
w 70% przypadków również, ale można to też zrobić za pomocą polecenia:
sudo cp opinioncollector.crt /usr/local/share/ca-certificates; sudo update-ca-trust
w obu przypadkach należy zrestartować przeglądarkę.
Aby na systemach Unixowych (Linux i Mac OS) dać użytkownikom nieuprzywilejowanym dostęp do portów 443 należy użyć komendy:
setcap 'cap_net_bind_service=+ep' /usr/bin/node
która daje node.js dostęp do powyższego portu.
Firefox nie przyjmie tego certyfikatu więc trzeba korzystać z chromium.
- baza danych PostgreSQL -
localhost
:5432
- backend Spring Boot -
https://opinioncollector.com:8443/api
(jest dostępny pod URLlocalhost:8443/api
) - frontend Angular -
https://opinioncollector.com/