- Вовед
- Потребен софтвер
- Користење на агрегаторот
- Поставување на серверскиот дел
- Работа со клиентскиот дел
- Забелешки за GitHub репозиториумот
Ranggo е софтвер за рејтинг на славни личности преку семантичко анализирање на статии објавени од влијателни медиуми на нивните портали и содржини објавени на социјалните мрежи. Софтверот агрегира и клучни настани кои ги засегаат славните личности и директно влијаат на нивниот рејтинг.
Проектот се состои од три одделни компоненти кои работат во согласност:
- Агрегатор - агрегирање податоци и нивна анализа;
- Веб апликација / серверски дел - повлекување на веќе анализирани податоци од податочен склад (Spring MVC / MongoDB);
- Веб апликација / клиентски дел - пребарување и прикажување на податоци (AngularJS).
- GitHub Desktop - алатки за работа со репозиториумот и git shell потребен за извршување на клиентскиот дел на веб апликацијата (превземи)
- Eclipse for Java EE - работна околина за агрегаторот и серверскиот дел на веб апликацијата (превземи)
- IntelliJ IDEA - работна околина за клиентскиот дел на веб апликацијата (превземи)
- Apache Tomcat 8 - серверот на кој се извршува серверскиот дел на веб апликацијата (превземи)
- Node.js - JavaScript извршна околина потребна за извршување на клиентскиот дел (превземи)
- MongoDB - податочен склад кој го користат агрегаторот и серверскиот дел на веб апликацијата (превземи)
Инструкции:
- Во Eclipse IDE одберете
File > Import...
. Во листатаGeneral
селектирајтеExisting Projects into Workspace
. ПритиснетеNext >
и посочете ја локацијата наaggregator
директориумот во клонираниот репозиториум. - Поставете го клучот од вашата лиценца за AlchemyAPI како вредност на
alchemyapi.key
својството во документотsrc\main\resources\properties\alchemyapi.properties
(во спротивно не може да се врши семантичка анализа на податоците). - Стартувајте го проектот од
Project Explorer
соRight Click > Run As > Java Application
.
Пред стартување на проектот, потребно е MongoDB сервер да работи на host:port
комбинацијата зададена во документот src/main/resources/properties/data-access.properties
.
MongoDB серверот се стартува со извршување на mongod
егзекутабилата (се наоѓа во bin
директориумот на инсталацијата - оваа локација може да се додаде во PATH
променливата на системската околина). Командата се повикува со параметар за локацијата на податочниот склад - ова не е инсталациониот директориум, туку локацијата на која податоците се зачувуваат физички, на пример:
mongod --dbpath D:\MongoDB
Официјално упатство за MongoDB: https://docs.mongodb.org
Серверскиот дел на веб апликацијата претставува Eclipse / Maven webapp проект изграден со Spring MVC рамката за развој.
Инструкции:
-
Во Eclipse IDE одберете
File > Import...
. Во листатаGeneral
селектирајтеExisting Projects into Workspace
. ПритиснетеNext >
и посочете ја локацијата наwebapp
директориумот во клонираниот репозиториум. -
Во
Properties
на проектот селектирајтеProject Facets
од листата, и по тоа кликнете на таботRuntimes
. Штиклирајте го checkbox-от заApache Tomcat v8.0
. ПритиснетеApply
иOk
.Доколку нема опција за
Apache Tomcat v8.0
воRuntimes
на прозорецот, потребно е да се додадеTomcat
во листата на сервери наEclipse
. Ова може да се направи воWindow > Preferences
. Отворете ја подлистата наServer
елементот во листата на левата страна и селектирајтеRuntime Environments
. ПритиснетеAdd...
и од листата Apache одберетеApache Tomcat v8.0
. ПритиснетеNext...
и посочете ја локацијата каде што е инсталиранApache Tomcat 8
. -
(Незадолжително:) поддесете го веб модулот на
Tomcat
за проектот да се извршува во контекстот корен (наместо наhttp://localhost/ranggo/
проектот да се извршува наhttp://localhost/
). Со двоен клик наTomcat v8.0
серверот воServers
прозорецот (Window > Show View > Servers
) се отвара приказ на серверот. Во таботModules
селектирајте гоRanggo
и притиснетеEdit...
(доколкуRanggo
не е на листата, најпрво стартувајте го проектот според упатството во следната секција). ПолетоPath
треба да биде празно. ПритиснетеOk
. -
Стартувајте го проектот од
Project Explorer
соRight Click > Run As > Run on Server
.Доколку го стартувате проектот за прв пат, од листата на дијалог прозорецот одберете го серверот
Tomcat v8.0 Server
, штиклирајтеAlways use this server when running this project
и притиснетеNext >
. Додадете гоRanggo
во листатаConfigured
доколку веќе не е додаден и притиснетеFinish
.Напомена: пред стартување на серверскиот дел на веб апликацијата, потребно е да работи MongoDB сервер како што е специфицирано во делот за MongoDB во секцијата за користење на агрегаторот.
Клиентскиот дел на веб апликацијата претставува IntelliJ IDEA проект, и истиот е изграден со AngularJS.
Инструкции:
-
Извршете ги следните команди во терминал во основниот директориум на клиентскиот дел на веб апликацијата, т.е.
clientapp
директориумот:npm install -g bower
npm install
bower install
Доколку не можете успешно да извршите било која команда од обичниот терминал на оперативниот систем, можете да го користите Git Shell кој се инсталира во пакет со GitHub Desktop алатките.
-
Отворете го проектот во IntelliJ IDEA со
File > Open
и создадете GulpJS конфигурација во прозорецотRun > Edit Configurations...
со кликнување на зелениот плус во горе лево во прозорецот доколку конфигурацијата веќе не постои. Доколку во прозорецот нема GulpJS опција, потребно е најпрво да се инсталира NodeJS plugin за IntelliJ IDEA. ПолетоName
треба да добие вредностgulp
,Gulpfile
треба да ја добие локацијата на gulpfile документот во проектот (clientapp\gulpfile.js
),Node interpreter
треба да посочува доnode.exe
- главната егзекутабила на NodeJS (нејзина вообичаена инсталациона локација еC:\Program Files\nodejs\node.exe
), aGulp package
да ја има локацијата наclientapp\node_modules\gulp
директориумот. -
Од терминалот извршете ја следната команда во
clientapp
директориумот:gulp build
Доколку
gulp
командата не е препознаена, најпрво извршетеnpm install --global gulp-cli
. -
Стартувајте го gulp серверот во IntelliJ IDEA со
Run > Run 'gulp'
.За клиентскиот дел да работи потребно е во позадина да се извршува серверскиот дел на веб апликацијата, а за да се прикажува рејтинг на славни личности, пред тоа мора да се изврши агрегаторот користејќи ја истата база на податоци во податочниот склад која ќе ја користи серверскиот дел на веб апликацијата.
GitHub е хостинг сервис за Git репозиториуми кој овозможува дистрибуирана контрола на промени. Секој соработник на репозиториумот може да прави промени на истиот. По појавувањето на промени во локалниот клониран репозиториум, GitHub Desktop алатката овозможува commit
операција за зачувување на промените во нова верзија. За промените да се зачуваат во овој репозиториум и да бидат видливи за сите соработници, потребно е да се изврши sync
на новиот commit
.
При работењето со Git репозиториум, често се појавуваат конфликти - нееднаквости на документи во вашиот локален репозиториум со соодветните документи во овој репозиториум. Конфликти можат да се појават бидејќи друг соработник извршил push
на сопствен commit
по вашиот последен sync
. За разрешување на конфликтите, потребно е најпрво да извршите pull
(sync
во GitHub Desktop алатката) за да се повлечат промените од овој репозиториум, а потоа да ги направите вашите промени и да извршите commit
и sync
. Ова се прави за да не се пребришуваат промените на другите соработници, но при тоа внимавајте при sync
да не ги изгубите локалните промени.
Забелешка: поради природата на агрегаторот и серверскиот дел на веб апликацијата, конфликтите во нивниот /target
поддиректориум можат да се игнорираат (можете да се врши презапишување на содржината на тој директориум). Дополнително, промените на документите во src/main/resources/properties
директориумот во склоп на агрегаторот и серверскиот дел на веб апликацијата не треба да се синхронизираат бидејќи истите се користат за лична конфигурација на соодветните проекти.
Упатство за работа со Git: http://rogerdudler.github.io/git-guide/