Skip to content

Praca inżynierska "System do wspomagania zarządzania placówką profilaktyki zdrowotnej" autorstwa Bartosza Kordka i Grzegorza Zacharskiego.

License

Notifications You must be signed in to change notification settings

bartoszkordek/AGH-Praca-inzynierska-back-end

Repository files navigation

Continuous Delivery Continuous Integration GitHub last commit GitHub contributors

AGH-Praca-inżynierska-back-end

Praca inżynierska "System do wspomagania zarządzania placówką profilaktyki zdrowotnej" autorstwa Bartosza Kordka i Grzegorza Zacharskiego.

Back-end

Aplikacja zrealizowana w architekturze mikroserwisowej oraz napisana w oparciu o framework Spring.

Serwisy:

  • gateway
  • discovery
  • config-server
  • account
  • auth
  • gympass
  • task
  • trainings

Jak uruchomić? (Wersja Ubuntu)

  1. Wymagany jest zainstalowany Docker:
  2. Aby pominąć punkty od 3 do 6 można wykorzystać skrypt.
  3. 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
  4. Do folderu ~/app/front-end skopiuj plik docker-compose-front.yaml.
  5. Skopiuj plik docker-compose.yaml oraz application-example.properties odpowiednio do folderów ~/app/back-end oraz ~/app/back-end/properties.
  6. Zmień nazwę pliku z application-example.properties na application.properties.
  7. 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 .)
  8. W folderze ~/app/front-end należy wpisać komendę:
     docker-compose -f docker-compose-front.yaml up -d 
  9. 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
  10. 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
  11. Po uruchomieniu, w terminalu należy wpisać następującą komendę, aby ostatecznie skonfigurować mikroserwisy.
    curl -v -X POST http://localhost:8030/actuator/bus-refresh
    Poprawną odpowiedzią jest odpowiedź ze statusem 204. W celu ostatecznego sprawdzenia należy wykonać następujące komendy:
    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
    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 "******".
  12. 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

Jak używać?

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):

Managerowie (1):

Trenerzy (4):

Pracownicy (3):

Użytkownicy (500): (hasło: qwerty123456)

Jak zatrzymać?

  1. W folderze ~/app/front-end należy wpisać komendę:
     docker-compose -f docker-compose-front.yaml down
  2. 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.

Back-end

Microservices written in Spring Boot:

  • gateway
  • discovery
  • user
  • trainings

How to start?

  1. You will need Docker.
  2. Clone the project.
  3. In root folder of the project type in terminal:
    docker-compose up --build -d
  4. Startup may last up to a few minutes.
  5. Eventually there will be available pages/endpoints:

How to stop?

  1. In root folder of the project type in terminal:
    docker-compose down

About

Praca inżynierska "System do wspomagania zarządzania placówką profilaktyki zdrowotnej" autorstwa Bartosza Kordka i Grzegorza Zacharskiego.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages