-
Notifications
You must be signed in to change notification settings - Fork 209
Getting started a development
This tutorial aims at showing you, how to setup a development IDE in order to start development process. For development work may start all microservices in the development environment, following below steps. Since we uses InteliJ IDEA, the all instructions are prepared using this software. However you can do it similarly in other IDE, i. e. Netbeans and Eclipse.
At the first open the project in IntelliJ IDEA.
InteliJ IDEA by default uses Maven in version 3.0.5. The Abixen Platform project requires version 3.1.0 or newest. Let's configure the Maven version in InteliJ IDEA. Open preferences window:
Go to the Maven section and indicate location to Maven's directory on your system.
In the Lifecycle section click on position of creation a new configuration like in the below screenshot:
There are two ways to build the project. The first one is with docker images, because Abixen Platform has been dockerized. However in order to build with docker images you must have installed and running docker's daemon. If you don't have Docker or don't want to build its images, add a parameter -DskipDocker in the command line field, like in the below screenshot:
Click Apply and OK. Now click run button showed in the below screenshot:
Maven should download all required dependencies, both java libraries and using Maven Frontend Plugin triggering the bower ones downloading process.
Click a right mouse button on the option selected in the below screenshot (spring-boot:run):
From the context menu click option Run 'abixen-platform-eureka'. In a browser go to address http://localhost:8761 and if you can see the Eureka's page, go to the next step.
Similarly as Eureka, start Abixen Platform Configuration microservice. Click a right mouse button on the option selected in the below screenshot (spring-boot:run):
From the context menu click option Run 'abixen-platform-configuration'. Refresh the Eureka's page and check if the ABIXEN-PLATFORM-CONFIGURATION has been registered. (the section Instances currently registered with Eureka) If yes, go to the next step.
This microservice is not required and may be omitted, taking into account the Hystrix Dashboard allows to monitor a network traffic between microservices. In order to run Hystrix Dashboard, click a right mouse button on the option selected in the below screenshot (spring-boot:run). Here is a difference compared to running previous microservices. From the context menu click option Create 'abixen-platform-hystrix-dashboard'.
In the opened window set parameters presented in the below screenshot:
Next, from the dropdown showed in the below screenshot select abixen-platform-hystrix-dashboard [spring-boot:run] and click the Run button.
Refresh the Eureka's page and check if the ABIXEN-PLATFORM-HYSTRIX-DASHBOARD has been registered. If yes, go to the next step.
Gateway requires Redis installed and running. On the below URL address there is a sample how to install Redis on Mac OS X http://jasdeep.ca/2012/05/installing-redis-on-mac-os-x And here there is a source of Redis for Windows https://github.com/MSOpenTech/redis/releases
In order to run Gateway, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-gateway'.
In the opened window set parameters presented in the below screenshot:
Next, from the dropdown showed in the below screenshot select abixen-platform-gateway [spring-boot:run] and click the Run button.
Refresh the Eureka's page and check if the ABIXEN-PLATFORM-GATEWAY has been registered. If yes, go to the next step.
For now Abixen platform has two functional modules:
- Business Intelligence Service
- Web Content Service (still under development)
In order to run all modules use a bellow procedure for each of them replacing a keyword Modules existing in the screenshots to the module name you are interested in. E.g. replace Modules to Business Intelligence Service or replace Modules to Web Content Service. You can run all modules in the same time.
In order to run Modules, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-modules'.
In the opened window set parameters presented in the below screenshot:
Next, from the dropdown showed in the below screenshot select abixen-platform-modules [spring-boot:run] and click the Run button.
Refresh the Eureka's page and check if the ABIXEN-PLATFORM-MODULES has been registered. If yes, go to the next step.
In order to run Core, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-core'.
In the opened window set parameters presented in the below screenshot:
Next, from the dropdown showed in the below screenshot select abixen-platform-core [spring-boot:run] and click the Run button.
Refresh the Eureka's page and check if the ABIXEN-PLATFORM-CORE has been registered. If yes, go to the next step.
In order to run Web Client, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-web-client'.
In the opened window set parameters presented in the below screenshot:
Next, from the dropdown showed in the below screenshot select abixen-platform-web-client [spring-boot:run] and click the Run button.
Refresh the Eureka's page and check if the ABIXEN-PLATFORM-WEB-CLIENT has been registered. If yes, in a browser go to the address http://localhost:8080 and sign in to the platform. There are three initial users:
- username [email protected] and password password - this is admin type of role
- username [email protected] and password password - this is user type of role
- username [email protected] and password password - this is editor type of role
The are static resources in the Web Client and the Modules microservices. A developer have to modify files in the web directory. Once some changes has been done, running a gulp task processing resources are putting into static directory. Don't modify a content of the static directory - it is overwritten every time, once the gulp task is performed. Refresh a browser after the gulp task is finished.
Click a right mouse button on the gulpfile.js and select Show Gulp Tasks from a context menu.
Then configure your Node interpreter and Gulp package paths. Click the OK button.
Now on the list of gulp tasks click a right mouse button on the dev task a from a contact menu select 'Run dev'.
You have to see a console of running gulp task.
Similarly like in section Run Modules replace Module keyword to the module name you are interested in.
Repeat all steps presented for the Web Client microservice, but for the gulpfile.js placed in the Modules microservice.