Skip to content

JuhQ/koulutustarjonta

 
 

Repository files navigation

koulutustarjonta

Project structure

koulutustarjonta-service Main service that provides an API for accessing education data

koulutustarjonta-update Update worker that handle integration to OPH

koulutustarjonta-common Common parts like DAO and domain packages that are used by both applications

Getting Started

Install Vagrant and Ansible.

Download Oracle XE 11g rpm Linux version from here and place the zip file into the oracle folder.

Start up Vagrant

cd vagrant
vagrant up

Running locally

The project folder is mapped to /src folder in Vagrant.

cd vagrant
vagrant ssh
cd /src

Run database migration to create tables

./gradlew update

Start up the applications

./gradlew :koulutustarjonta-service:run
./gradlew :koulutustarjonta-update:run

You can start the update process by making a call in Vagrant to localhost:9090/update You can do this by executing

wget localhost:9090/update

Running tests

Run all tests

./gradlew test
```
or for a single module eg.
```
./gradlew :koulutustarjonta-common:test
```
By default, tests are run agains local database runnin in Vagrant virtual machine. To run tests against some other database:
```
./gradlew test -Pdb.url=<jdbc url> -Pdb.user=<username> -Pdb.passwd=<password>
```

Building RPMs
-------------
```
./gradlew clean rpm -Pdb.url=<jdbc url> -Pdb.user=<db user> -Pdb.passwd=<db password> -Papi.endpoint=<api endpoint> -Penv=<evnironment: dev|test|prod>
```

Deployment
----------
After RPMs have been built, the two applications can be deployed using ansible
```
 ansible-playbook -i <inventory file> ansible/application-server-apps.yml -U <sudo user> -u <remote user>
```

Test environment
----------------
Test environment doesn't update database automatically, it instead has to be updated by hand using command
```
./gradlew update -Pdb.url=jdbc:oracle:thin:@torsu.it.helsinki.fi:1521:uhora -Pdb.user=<db user> -Pdb.passwd=<db password>
```

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 79.3%
  • Java 17.4%
  • PLSQL 1.3%
  • HTML 0.6%
  • Shell 0.3%
  • Vim Script 0.3%
  • Other 0.8%