kelvinyap2014 / northwind-roo

Academic research of Northwind database with Spring Roo, Spring Boot, Thymeleaf, JPA, Docker and CI/ CD deployment automation
GNU General Public License v3.0
1 stars 2 forks source link
behavior-driven-development continuous-delivery continuous-integration cucumber docker hibernate java-8 jpa maven puppet selenium sonar spring-boot spring-mvc spring-roo thymeleaf vagrant

northwind-roo

build status Quality Gate Technical debt ratio GPL Licence

This is an academic research project of Northwind database implemented with Spring Roo, Spring Boot and CI/ CD deployment automation. It is not intended to produce a usable application. Instead, this project aims to assist learning/gathering various technologies and put them in a runnable state.

Development environments setup

Pre-requisite

  1. JDK 8
  2. Git & Bash shell. For Windows, use Git Bash
  3. Firefox 53 for running Cucumber BDD Tests
  4. Text editor of your choice
  5. Fast Internet

Development

  1. git clone https://github.com/kelvinyap2014/northwind-roo.git
  2. cd scripts
  3. ./run-unit-test-and-sonar.sh
  4. ./start-app-dev.sh
  5. Browse http://localhost:8080/, login with credentials recommended on screen
  6. Browse http://localhost:8080/h2-console/ to view database contents, refer the dev configuration for database parameters

Testing

  1. git clone https://github.com/kelvinyap2014/northwind-roo.git
  2. cd scripts
  3. ./run-unit-test-and-sonar.sh
  4. ./ingest-data.sh, Derby database created in acceptance-tests/nwdb
  5. ./start-app-test.sh, keep it active
  6. Browse http://localhost:8080/, login with user name user or admin, password is secret
  7. ./run-acceptance-tests.sh, find the reports in acceptance-tests/target/site

Alternative development environments

Vagrant + Puppet

  1. Pre-requisite
  2. git clone https://github.com/kelvinyap2014/northwind-roo.git
  3. cd nwroo-puppet-vagrant
  4. vagrant up
  5. vagrant ssh
  6. Inside the virtual machine
    • cd /home/vagrant/northwind-roo/scripts
    • ./run-unit-test-and-sonar.sh
    • ./start-app-dev.sh
  7. Browse http://localhost:4010/, login with credentials recommended on screen

Running Docker image

  1. Pre-requisite - Docker
  2. docker run -p 4000:8080 kelvinyap2014/northwind-roo
  3. Browse http://localhost:4000/, login with credentials recommended on screen

Building Docker image

  1. Pre-requisite
  2. git clone https://github.com/kelvinyap2014/northwind-roo.git
  3. cd docker
  4. docker build -t northwind-roo .
  5. docker run -p 4000:8080 northwind-roo
  6. Browse http://localhost:4000/, login with credentials recommended on screen