Da bi se backend uspešno pokrenuo potrebno je zadovoljiti sledeće preduslove.
Ukoliko se koristi Docker Compose, potrebno je imati:
- Docker 18.09 ili noviji
- Docker Compose 3+
- Uključen BuildKit na Dockeru
BuildKit je uključen po default-u na Windows operativnom sistemu. Na Linux-u zavisi od instalacije, ali često nije uključen, pa ga je potrebno ručno uključiti. Ukoliko ste na Linux-u, pogledajte sledeći dokument za objašnjenje kako da uključite BuildKit.
Backend je takođe moguće pokrenuti manuelno, što može biti olakšavajuće u development/debugging fazi. Za to je potrebno imate:
- Java 17
- PostgreSQL 14 sa dve baze podataka
- Po defaultu servisi su konfigurisani da rade sa dve različite instance PostgreSQL-a. To se može promeniti
modifikacijom
application.properties
fajlova uuser_service
iberza
servisima
- Po defaultu servisi su konfigurisani da rade sa dve različite instance PostgreSQL-a. To se može promeniti
modifikacijom
- InfluxDB 2.1.1
- Artemis/ActiveMQ
Moguće je podići sve potrebne servise sa Docker Compose-om, bez da se podižu mikroservisi aplikacije. Za više informacija o tome pogledajte sledeću sekciju.
Da bi se ceo stack uspešno pokrenuo, potrebno je ubaciti tokene i kredencijale na određena mesta. Potrebni su vam sledeći tokeni:
- AlphaVantage API key: može se generisati na sledećem sajtu
- Potrebno ga je ubaciti u
berza/src/main/java/rs/edu/raf/banka/berza/configuration/SpringConfig.java
umestoINSERT_API_KEY
- Potrebno ga je ubaciti u
InfluxScrapper/InfluxScrapper/Models/Constants.cs
umestoalpha-key
- Potrebno ga je ubaciti u
- Nasdaq API key: može se generisati registracijom na Nasdaq
- Potrebno ga je ubaciti u
InfluxScrapper/InfluxScrapper/Models/Constants.cs
umestonasdaq-key
- Potrebno ga je ubaciti u
- Email nalog: obratiti se vašem team leadu za kredencijale
- Kredencijale je potrebno ubaciti u
docker-compose.yml
ili umail-service/src/main/resources/application.properties
ako se servis pokreće ručno
- Kredencijale je potrebno ubaciti u
BITNO: Pazite da ne commitujute API ključeve i kredencijale na Git-u!
Docker Compose se može koristiti na sledeća dva načina:
- Da se pokrene ceo stack (tj. ceo backend i svi potrebni servisi)
- Da se pokrenu samo potrebni servisi (baze podataka, InfluxDB), a da se backend pokrene ručno
Ovo je omogućeno korišćenjem Docker Compose profila, a postoje sledeći profili:
all
: pokreće svecore
: pokreće PostgreSQL, InfluxDB, Artemis ActiveMQ, InfluxDBScrapper servisinfluxdb
: pokreće InfluxDB
Da bi ste pokrenuli ceo stack, koristite sledeću komandu:
docker compose --profile=all up --build
Da bi ste pokrenuli samo neophodne servise (core
profil), koristite sledeću komandu:
docker compose --profile=core up --build
Pre pokretanja aplikacije je bitno da ubacite tokene i kredencijale kao što je opisano iznad!
Ako koristite all
profil, Docker Compose će pokrenuti sve za vas, tj. aplikacija je spremna za korišćenje.
Ako koristite core
profil, biće pokrenuti samo gore-pomenuti servisi. Ostale servise (user-service, mail-service i
berza) je potrebno pokrenuti ručno i to možete učiniti preko IntelliJ-a kao što bi pokrenuli bilo koju Java aplikaciju.
Napomena: Od sad više nije potrebno da radite Maven package (mvn package
) pre pokretanje aplikacije, Docker
će to uraditi za vas.
Moguće je manuelno pokrenuti sve, bez upotrebe Docker Compose-a, ali to se NE PREPORUČUJE!
####Glavni admin:
- Username: admin
- Password: Admin123 ####Admin:
- Username: test
- Password: 1234 ####Agent 1:
- Username: jovan.jovanovic
- Password: agent1agent1 ####Agent 2:
- Username: milica.mihajlovic
- Password: agent2agent2 ####Supervisor 1:
- Username: vladimir.vladimirovic
- Password: supervisor1 ####Supervisor 2:
- Username: marija.marijanovic
- Password: supervisor2