Skip to content

tomczykp/io-opinion-collector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Opinion Collector

📋Opis

  • 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

🛠Użyte technologie

  • Spring Boot
  • Angular
  • Hibernate ORM
  • PostgreSQL
  • Materialize
  • Bootstrap
  • OAuth 2.0 (Google i Facebook)
  • JWT

Architekci

Projektanci wraz z realizowanym przez nich modułem:

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

Aby uruchomić aplikację należy:

  • 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 poleceniem docker 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 klikamy Test 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 oraz Angular CLI (https://www.knowledgehut.com/blog/web-development/install-angular-on-windows), wtedy należy przejść w terminalu do katalogu frontend w projekcie i stamtąd wykonać polecenie npm install, następnie ng serve
  • zainstalować certyfikat

Instalacja certyfikatu

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

Windows:

wystarczy kliknąć 2 razy i zainstalować jako główny urząd certyfikacji

Unix:

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ę.

Uwaga! #1

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.

Uwaga! #2

Firefox nie przyjmie tego certyfikatu więc trzeba korzystać z chromium.

Porty, na których będzie uruchomiona aplikacja:

  • baza danych PostgreSQL - localhost:5432
  • backend Spring Boot - https://opinioncollector.com:8443/api (jest dostępny pod URL localhost:8443/api)
  • frontend Angular - https://opinioncollector.com/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published