Deployment instructions - acailic/sep2015 GitHub Wiki

Uputstvo za pokretanje projekta

Projekat se sastoji iz 2 front-end i 4 back-end aplikacije, koje se zasebno pokreću. Kako bi sve funkcionisalo, potrebno je da svih 6 aplikacija budu pokrenute istovremeno, na različitim portovima.

Pokretanje front-end aplikacija

Kako su front-end aplikacije u našem projektu razvijene putem AngularJS tehnologije, potrebno je instalirati određen broj dependenci-ja i biblioteka, koje su korišćene. Kako biste to uradili, pozicionirajte se putem komandne linije na folder 'projekat' (front-end AngularJS aplikacija Merchant-a) i u njemu izvršiti komandu bower update. Nakon toga izvršiti komandu npm install. Isto uraditi i u folderu 'acquirer' (front-end AngularJS aplikacija Acquirer-a).
Nakon ovih podešavanja, front-end aplikacije su spremne za pokretanje. Pozicionirati se najpre u folder 'projekat' i u njemu otkucati i izvršiti komandu 'gulp default'. Zatim se pozicionirati u folder 'acquirer' i izvršiti istu komandu. Aplikacija Merchant-a će biti pokrenuta na linku https://localhost:8001/, dok će Acquirer aplikacija biti pokrenuta na linku https://localhost:8000/.

Kreiranje šema baza podataka

Svaka od front-end aplikacija komunicira sa odgovarajućim back-end aplikacijama, koje svoje podatke skladište u relacionim MySQL bazama podataka. Za ispravno funkcionisanje projekta potrebno je napraviti 4 šeme baze podataka u MySQL Workbench-u. Nazivi šema treba da budu 'sep_merchant', 'pcc', 'acquirer' i 'issuer'.
Kako bi šeme baze podataka dobili odgovarajuće tabele, potrebno je najpre pokrenuti back-end aplikacije.

Pokretanje back-end aplikacija

Instalacija Gradle dependency management-a

Back-end aplikacije razvijane su u Java Spring frameworku, uz oslonac na Gradle dependency management. Kako bi ispravno funkcionisale i 'povukle' sve potrebne .jar fajlove, potrebno je instalirati Gradle na računaru. Mi smo projekat razvijali na verziji 2.9.
Link za download Gradle-a je: http://gradle.org/gradle-download/. Skinuti binary verziju i raspakovati. Potrebno je dalje kreirati environment varijablu GRADLE_HOME, koja će ukazivati na folder skinutog binary-ja. U environment varijablu PATH potrebno je dodati da ukazuje i na GRADLE_HOME/bin.

Podešavanje aplikacija Acquirer, Issuer i PCC

Projekte Issuer, Acquirer i PCC potrebno je uvući u Eclipse razvojno okruženje. Kako bi se to postiglo, potrebno je u Eclipse okruženju imati instaliran Gradle plugin. Otići u Eclipse-u na Help -> Eclipse Marketplace i ukucati 'Gradle plugin'. Kliknuti na preuzimanje prvog plug-ina, koji se pojavi u rezultatima pretrage.
Nakon instalacije plug-ina, importovati projekte u Eclipse preko Import → Gradle Project komande. Kada se pojavi dijalog za import, kliknuti na Build Model i nakon toga Finish. Ovime su ova 3 projekta uspešno uvučena u Eclipse razvojno okruženje.
U okviru svakog od projekta potrebno je izmeniti kredencijale za pristup bazi podataka. Properties fajl za pristup bazi podataka se u svakom od ova 3 projekta nalazi u src/main/webapp/WEB-INF/conf/database.properties.
Nakon svih podešavanja, projekti bi trebali biti spremni za pokretanje. Kliknuti desnim dugmetom miša na svaki projekat u Eclipse-u, pronaći komandu Gradle i u okviru nje izabrati Task Quick Launcher. U dijalogu koji se otvori otkucati 'jettyRun'. Time će se pokrenuti back-end aplikacije na odgovarajućim portovima.

Podešavanje aplikacije Merchant

Projekat Merchant (back-end) se pokreće putem Command Prompt-a. Pozicionirati se u projekat sa nazivom 'spring4-mvc-gradle-xml'. U folderu projekta otkucati i izvršiti komandu 'gradle jettyRun', koja će na odgovarajućem portu (https port 8444, http port 8080) pokrenuti aplikaciju, kao i putem .gradle fajla, koji se nalazi u projektu, uvući .jar fajlove koji su neophodni.

Popunjavanje baze podataka

Nakon pokretanja back-enda šema baze podataka za sve aplikacije je kreirana. Da bi aplikacije ispravno radile, potrebno je popuniti baze podataka odgovarajućim podacima. Bazu podataka treba popuniti direktno iz MySQL Workbencha. Otići u MySQL Workbench i proveriti da li su u svakoj šemi kreirane tabele. Nad šemom sep_merchant potrebno je izvršiti skriptu za popunjavanje baze 'merchantscript', nad šemom issuer _izvršiti skriptu 'issuerscript', nad šemom _pcc _'pccscript' i nad šemom _acquirer _'acquirerscript'. Sve skripte se nalaze u folderu projekta 'spring4-mvc-gradle-xml'.

Korišćenje aplikacija

U browseru otići na adresu https://localhost:8001/. Ovde se nalazi front-end aplikacija za Merchant. Potrebno je u browseru koji se koristi dozvoliti korišćenje sertifikata za adrese https://localhost:8000/, https://localhost:8444/spring4/, https://localhost:8000/, https://localhost:8443.