TMS is a simple REST service project that serves APIs for managing your own activity tasks.
Please find the official website for detailed information.
TMS uses Dropwizard framework to serve the APIs.
The default database implementation is H2 and the database is located into target/db
.
To see an example of usages for MySql please point to the test cases.
The code base contains a set of unit and integration tests that cover at least 85% of the code. During the build the code coverage is checked
by JaCoCo. the minimum allowed coverage is 85%.
The report is published into target/site
TMS exposes a OpenAPI http://localhost:8080/api/swagger
. the page describes the REST APIs. To get a JSON representation use http://localhost:8080/api/swagger.json
- Run
mvn clean install
to build your application - Init the database
java -jar target/task-management-system-1.0-SNAPSHOT.jar db migrate config.yml
- Start application with
java -jar target/task-management-system-1.0-SNAPSHOT.jar server config.yml
- To check that your application is running enter url
http://localhost:8080/api/
After you have built the application run:
docker build -t marcosperanza79/tms:latest -f target/docker/Dockerfile .
docker-compose -f src/main/docker/conf/docker-stack.yml up
or
docker stack deploy -c src/main/docker/conf/docker-stack.yml tms
In the production environment create a OKE cluster
kubectl apply -f https://raw.githubusercontent.com/marcosperanza/tms/master/src/main/k8b/k8b-tms-prod.deployment.yml
kubectl expose deployment tms --port=80 --type=LoadBalancer
inspect the loadbalancer
kubectl get service tms