Проект с полуфинала международной олимпиады Волга ИТ 2023. Весь API сделан по тех. заданию.
Simbir.GO — сервис по аренде транспорта. В нём доступна аренда мотоциклов/машин/самокатов (по сути, любого вида транспорта) по минутно и по дням.
- Spring Boot
- Spring Security, JWT bearer
- Spring Web, REST API
- PostgreSQL, Spring JPA, Hibirnate
- OpenAPI (swagger)
- Project Lombok
Для запуска проекта понадобятся следующие компоненты:
- JDK >= 17 (Настроено значение переменной окружения JAVA_HOME)
- JRE >= 17 (Настроено значение переменной окружения JRE_HOME или путь к java.exe указан в PATH)
- База данных PostgreSQL. В файле application.properties должны быть указаны данные для подключения. По умолчанию используются следующие значения: база данных - postgres, хост - localhost, порт - 5432, пользователь - postgres, пароль - postgres.
- Откройте терминал и перейдите в корневую папку проекта.
- Выполните команду
gradlew build
для сборки проекта с помощью Gradle. - Перейдите в папку build/libs/ командой
cd build/libs/
. - Запустите приложение с помощью команды
java -jar simbir-0.0.1-SNAPSHOT.jar
. - После успешного запуска приложения откройте веб-браузер и перейдите по адресу
http://localhost:8080/swagger-ui/index.html
, чтобы открыть Swagger UI, где вы сможете ознакомиться с документацией и опробовать API.
По умолчанию в базе данных создается админ. Получить к нему доступ можно используя:
{ "username": "admin", "password": "admin" }
Эндпойнты GET /api/Rent/MyHistory
, GET /api/Rent/TransportHistory/{transportId}
и их версии в админ контролере возращают только завершенные аренды. Для открытых аренд были добавлены GET /api/Rent/MyRents
и GET /api/Admin/UserRents/{id}