Приложение коротких ссылок предоставляет удобный способ создания коротких URL-адресов с настройкой временных ограничений и лимита переходов. Пользователи могут управлять своими ссылками через простой интерфейс командной строки. Программа также поддерживает уведомления о недоступности ссылок.
- Убедитесь, что у вас установлена Java 22 и Maven.
- Соберите проект:
mvn compile
- Запустите приложение:
mvn exec:java -Dexec.mainClass="org.example.ShortURLApplication"
-
create
Создаёт короткую ссылку. Если вы не авторизованы, система создаст уникальный UUID для вашей сессии.
Шаги:- Введите полный URL.
- Задайте лимит переходов.
-
login
Авторизует вас с помощью существующего UUID. -
list
Показывает список ваших ссылок. Вы можете:delete— удалить ссылку.edit— изменить лимит переходов.
-
redirect
Перенаправляет на полный URL по короткой ссылке. -
logout
Завершает текущую сессию пользователя. -
exit
Завершает работу приложения.
Временные ограничения задаются в файле application.properties, который находится в папке src/main/resources.
Если папка resources отсутствует, создайте её:
- В папке
src/mainвыполните:mkdir resources
- Поместите файл
application.propertiesв эту папку.
time.limit.days=0
time.limit.hours=0
time.limit.minutes=1Параметры:
time.limit.days— количество дней, через которое ссылка истекает.time.limit.hours— количество часов.time.limit.minutes— количество минут.
Приложение автоматически считывает конфигурацию через класс ConfigManager.
- Измените значения в файле
application.properties. - Перезапустите приложение.
- Добавьте зависимость JUnit в
pom.xml:<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.10.0</version> <scope>test</scope> </dependency>
- Запустите тесты:
mvn test
- Уникальность коротких ссылок для одного URL, созданных разными пользователями.
- Блокировка ссылок после исчерпания лимита переходов.
- Удаление ссылок по истечении времени (настроенного в
application.properties). - Уведомления пользователей об удалении ссылок из-за лимита переходов или времени.
src/
├── main/
│ ├── java/
│ │ └── org/
│ │ ├── ChangerURL.java
│ │ ├── Dao.java
│ │ ├── Notification.java
│ │ ├── ShortURLApplication.java
│ │ ├── ConfigManager.java
│ │ └── ...
│ └── resources/
│ └── application.properties
├── test/
│ ├── java/
│ │ └── org/
│ │ └── ShortURLApplicationAdditionalTests.java
└── pom.xml