Данное приложение представляет собой сервис по укорачиванию длинных ссылок, подобно https://goo.gl/ или https://vk.cc/. Приложение самодостаточное, запускается из командной строки и не требует отдельно установленных servlet контейнеров, application серверов и т.п.
Spring BootSpring Data JPALiquibase- для управления миграциями базы данныхThymeleaf- html шаблонизаторTwitter Bootstrap- для разметки- Selenide для UI тестов
- TestContainers для запуска UI тестов в докер контейнере
Используется СУБД H2. Для тестов используется H2DB
MavenTravisCIDocker
Для сборки используется Maven:
mvn clean packagejava -jar ./target/url-shortener.jarПриложение запустится на порту по умолчанию - 8080
Необходим установленный Docker и docker-compose
Команда:
docker-compose up -d запускает docker контейнер с приложением на 8080 порту
Приложение имеет как веб интерфейс, так и REST сервис:
pi@pi-VirtualBox:~$ http POST http://192.168.1.2:8080/add/rest link=http://ya.ru
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Date: Sat, 02 Sep 2017 16:08:53 GMT
Transfer-Encoding: chunked
{
"key": "ztV7",
"link": "http://ya.ru"
}