Skip to content

aveasura/currency-exchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

157 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Currency Exchange

ТЗ проекта

REST API для работы с валютами и обменными курсами.

Для быстрого тестирования API в проект добавлены файлы:

Стек

  • 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 снаружи ограничен.

Примечание по ID

  • В проекте начальные записи в 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 в репозитории.

About

Java Servlets, JDBC, and SQLite

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors