A simple Todo list application using Spring Boot with the following options:
- Spring JPA and MySQL for data persistence
- Thymeleaf templae for the rendering.
To build and run the sample from a fresh clone of this repo:
- Create two databases in your MySQL instance :
tododb
andtododbtest
- Update the application.properties file in the
src/main/resources
folder with the URL, username and password for your MySQL instance. The table schema for the Todo objects will be created for you in the database.
mvnw package
java -jar target/TodoDemo-0.0.1-SNAPSHOT.jar
- Open a web browser to http://localhost:8080
Alias scripts are available to ease executing tests:
All tests
./test.sh
Unit tests only
./test.sh -u
Integration tests only
./test.sh -i
Integration tests runs on a dedicated test database (tododbtest
) whose table todo_item
is erased before each test.
Integration test classes are identifiable by the use of @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
and test methods are tagged with @Category(SlowTests.class)
Unit tests classes are identifiable by absence of @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
and their test methods are tagged with @Category(FastTests.class)
Set the git pre-commit hook as following:
cp pre-commit.sh ./.git/hooks/pre-commit
chmod 755 ./.git/hooks/pre-commit