Praca inżynierska "System do wspomagania zarządzania placówką profilaktyki zdrowotnej" autorstwa Bartosza Kordka i Grzegorza Zacharskiego.
Aplikacja zrealizowana w architekturze mikroserwisowej oraz napisana w oparciu o framework Spring.
Serwisy:
- gateway
- discovery
- config-server
- account
- auth
- gympass
- task
- trainings
- Wymagany jest zainstalowany Docker:
- Docker Engine
- oraz Docker Compose.
- Aby pominąć punkty od 3 do 6 można wykorzystać skrypt.
- Wpisz następujące komendy, aby utwórzyć następującą strukturę folderów na dysku:
cd mkdir -p app/front-end mkdir -p app/back-end/properties
- Do folderu ~/app/front-end skopiuj plik docker-compose-front.yaml.
- Skopiuj plik docker-compose.yaml oraz application-example.properties odpowiednio do folderów ~/app/back-end oraz ~/app/back-end/properties.
- Zmień nazwę pliku z application-example.properties na application.properties.
- W pliku application.properties zmodyfikuj odpowiednie właściwości. (Zalecana jest skrzynka pocztowa Gmail. Należy włączyć na dostęp do mniej bezpiecznych aplikacji .)
- W folderze ~/app/front-end należy wpisać komendę:
docker-compose -f docker-compose-front.yaml up -d
- W folderze ~/app/back-end należy wpisać komendę:
docker swarm init --listen-addr 0.0.0.0 docker stack deploy --compose-file docker-compose.yaml backend
- Uruchomienie może zająć do kilku minut. Uruchom przeglądarkę oraz wejść na stronę: http://localhost:8010. W
panelu powinny znajdować wszystkie uruchomione serwisy (account,auth,config-server,gateway,gympass, task oraz
trainings). W terminalu można też wpisać następującą komendę, aby sprawdzić stan mikroserwisów:
docker stack services backend
- Po uruchomieniu, w terminalu należy wpisać następującą komendę, aby ostatecznie skonfigurować mikroserwisy.
Poprawną odpowiedzią jest odpowiedź ze statusem 204. W celu ostatecznego sprawdzenia należy wykonać następujące komendy:
curl -v -X POST http://localhost:8030/actuator/bus-refresh
W przeglądarce należy wcisnąć CTRL+F, a następnie wpisać spring.mail.username oraz spring.mail.password. Jeżeli podany adres email się zgadza z podanym w pliku application.properties, to oznacza, że serwisy zostały poprawnie skonfigurowane. W przypadku spring.mail.password powinny zostać wyświetlone "******".curl -X GET http://localhost:8020/auth/actuator/env > auth.json curl -X GET http://localhost:8020/trainings/actuator/env > trainings.json firefox auth.json trainings.json
- Ostatecznie będą dostępne punkty końcowe:
- http://localhost:8010 - panel administracyjny serwisu discovery
- http://localhost:8020 - brama wejściowa do której kierowane są zapytania
- http://localhost:8030 - serwis konfiguracyjny
- http://localhost:15672 - panel administracyjny rabbitmq (użytkownik: healthy_gym, hasło: th1sPAsswordNeed2BeChAnged)
- port :27017 - baza mongodb (baza: databasePracaInz, użytkownik: adminPracaInz, hasło: thisPAsswordNeed2BeChange)
- port :6379 - baza redis (hasło: thisP@sswordNeed2BeChange)
- http://localhost:5000 - graficzny interfejs użytkownika
Dane użytkowników (adresy email, imiona, nazwiska, avatary itp) pochodzą z biblioteki faker.js W systemie dostępni są następujący użytkownicy:
Administratorzy (1):
- gzacharski@gmail.com - (hasło: gzacharski_admin)
Managerowie (1):
- bkordek@gmail.com - (hasło: bkordek_manager)
Trenerzy (4):
- Leone_Brekke@yahoo.com (hasło: Leone_Brekke-trainer1)
- Tyshawn.Kuhlman27@gmail.com (hasło: Kuhlman27_trainer)
- Michaela.Crona64@hotmail.com (hasło: Crona64_trainer)
- Bailey_Bruen67@hotmail.com (hasło: Bruen67_trainer)
Pracownicy (3):
- Norval.Gulgowski77@yahoo.com (hasło: Gulgowski77_employee)
- Barrett_Littel@gmail.com (hasło: Littel_employee)
- virase3669@rebation.com (hasło: virase3669_employee)
Użytkownicy (500): (hasło: qwerty123456)
- Tressa.Bartoletti@gmail.com
- Michaela.Crona64@hotmail.com
- Ona92@gmail.com
- Barrett_Littel@gmail.com
- Lyric_Jacobi@yahoo.com
- ....
- W folderze ~/app/front-end należy wpisać komendę:
docker-compose -f docker-compose-front.yaml down
- W folderze ~/app/back-end należy wpisać komendę:
docker stack rm backend docker swarm leave
Engineering thesis "System to support management of a health prevention unit" by Bartosz Kordek & Grzegorz Zacharski.
Microservices written in Spring Boot:
- gateway
- discovery
- user
- trainings
- You will need Docker.
- Clone the project.
- In root folder of the project type in terminal:
docker-compose up --build -d
- Startup may last up to a few minutes.
- Eventually there will be available pages/endpoints:
- http://localhost:8010 - discovery service dashboard
- http://localhost:8020 - api gateway
- In root folder of the project type in terminal:
docker-compose down