REST API для работы с валютами и обменными курсами.
Для быстрого тестирования API в проект добавлены файлы:
positive-requests.http- проверка позитивных сценариевnegative-requests.http- проверка негативных сценариев
- Java 21
- Jakarta Servlet API
- JDBC
- SQLite
- HikariCP
- Maven
- HTML
- CSS
- JavaScript
- получение списка валют
- получение валюты по коду
- добавление новой валюты
- получение списка обменных курсов
- получение курса по валютной паре
- добавление нового обменного курса
- обновление существующего обменного курса
- конвертация суммы из одной валюты в другую
- конвертация поддерживает прямой, обратный и кросс-курс через USD
- для работы с подключениями к базе данных используется HikariCP
- по умолчанию база данных создаётся в
<catalina.base>/data/app.db
- Приложение разворачивалось на удалённом сервере в виде WAR-архива.
- Для внешнего доступа используется Nginx как reverse proxy с HTTPS.
- Прямой доступ к Tomcat снаружи ограничен.
- В проекте начальные записи в SQLite инициализируются вручную с
id = 0.- Это сделано намеренно, чтобы ответы API соответствовали примерам из ТЗ, где идентификаторы начинаются с нуля.
- Последующие вставки работают корректно: SQLite учитывает уже существующие значения и продолжает нумерацию дальше.
- Требования:
- Apache Tomcat 11
- Java 21
- Maven
Сборка проекта:
mvn clean packageПосле сборки в директории target/ будет создан WAR-архив currency-exchange.war, который можно развернуть в Apache Tomcat.
При локальном деплое в Apache Tomcat приложение будет доступно по адресу: http://localhost:8080/currency-exchange/
Публичная ссылка на удалённый стенд не размещается в README. При необходимости она предоставляется по запросу через issue в репозитории.