Данное приложение представляет собой сервис по укорачиванию длинных ссылок, подобно https://goo.gl/ или https://vk.cc/. Приложение самодостаточное, запускается из командной строки и не требует отдельно установленных servlet контейнеров, application серверов и т.п.
Spring Boot
Spring Data JPA
Liquibase
- для управления миграциями базы данныхThymeleaf
- html шаблонизаторTwitter Bootstrap
- для разметки- Selenide для UI тестов
- TestContainers для запуска UI тестов в докер контейнере
Используется СУБД H2
. Для тестов используется H2DB
Maven
TravisCI
Docker
Для сборки используется Maven
:
mvn clean package
java -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"
}