Skip to content

yofumoru/java_shortlink

Repository files navigation

ShortLink Console Service

ShortLink Console Service — консольное Java-приложение для создания и управления короткими ссылками.

Возможности программы:

  • ограничение срока действия ссылки
  • ограничение количества переходов
  • привязка ссылок к пользователю (UUID)
  • хранение данных в локальной базе SQLite

ВОЗМОЖНОСТИ

  • Создание коротких ссылок
  • Ограничение количества переходов
  • Автоматическое удаление просроченных ссылок
  • Редактирование ссылок
  • Удаление ссылок
  • Просмотр списка ссылок
  • Консольное меню управления

СИСТЕМНЫЕ ТРЕБОВАНИЯ

  • Java 24, Gradle
  • Windows / Linux / macOS
  • Файл java_shortlink-1.0.0-all.jar

Проверка Java:

java -version


УСТАНОВКА И ЗАПУСК

  1. Скачайте файл java_shortlink-1.0.0-all.jar из репозитория GitHub из папки build/libs

  2. Откройте терминал в папке с файлом и выполните:

java -jar java_shortlink-1.0.0-all.jar

При первом запуске:

  • генерируется уникальный UUID пользователя
  • создаётся база данных shortlinks.db

Файл конфигурации application.properties

Файл application.properties позволяет изменить поведение приложения:

link.ttl.hours=24
link.default.maxClicks=5
cleanup.interval.seconds=60

link.ttl.hours — TTL (time-to-live) ссылки по умолчанию в часах.
Ссылка автоматически станет недоступной после этого времени.

link.default.maxClicks — лимит переходов по ссылке по умолчанию.
Ссылка станет недоступной после указанного числа переходов.

cleanup.interval.seconds — интервал автоматической очистки базы от просроченных ссылок (в секундах).
Например, 60 — проверка выполняется каждые 60 секунд, и устаревшие ссылки удаляются.


ГЛАВНОЕ МЕНЮ ПРОГРАММЫ

===== ShortLink Menu =====
1. Создать ссылку
2. Открыть ссылку
3. Список ссылок
4. Редактировать ссылку
5. Удалить ссылку
9. Очистить консоль
0. Выход
==========================

ОПИСАНИЕ ПУНКТОВ МЕНЮ

  1. Создать ссылку
    • Создание короткой ссылки с указанием оригинального URL
  2. Открыть ссылку
    • Имитирует переход по короткой ссылке.
    • Увеличивает счётчик переходов и блокирует ссылку при превышении лимита или истечении срока действия.
  3. Список ссылок
    • Отображает все ссылки пользователя:
      • короткий код
      • оригинальный URL
      • количество переходов
      • срок действия
  4. Редактировать ссылку
    • Позволяет изменить лимит переходов и срок действия.
  5. Удалить ссылку
    • Полностью удаляет ссылку из базы данных.
  6. Очистить консоль
    • Очищает экран терминала.
  7. Выход
    • Завершает работу программы.

ХРАНЕНИЕ ДАННЫХ

Все данные сохраняются в файле: shortlinks.db
Используется база данных SQLite. Данные сохраняются между запусками программы.


ТЕСТИРОВАНИЕ

В проекте реализованы модульные тесты (JUnit 5). Тесты запускаются локально и в GitHub Actions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages