Skip to content

REST API for links-to-shortcut conversion and statistic register

Notifications You must be signed in to change notification settings

Niaktes/url_shortcut

Repository files navigation

url_shortcut

REST API использующийся для сокращения ссылок и ведения статистики по ним.

Используемые технологии:

  • Java 17
  • Maven 3.8
  • Spring 2.7.17
    • Web
    • Data Jpa
    • Security
    • Validation
    • Test
  • PostgreSQL 14
  • Liquibase 3.10.3
  • Lombok 1.18.30
  • Checkstyle

Возможности:

  1. Регистрация Вашего сайта (пользователя) происходит путём POST запроса на адрес /registration с JSON, содержащим имя Вашего сайта. В ответ Вы получаете JSON, с подтверждением/отрицанием регистрации, а также с уникальным логином и паролем (в случае удачной регистрации), необходимыми для авторизации:

Request

POST /registration
{
    "site": "example.ru"
}

Response

{
    "registration": true, "login": "exampleLogin", "password": "examplePassword"
}
  1. Авторизация с использованием полученных ранее логина и пароля и получение JWT токена для дальнейшей работы. Данное действие происходит также POST запросом на адрес /login. В ответ токен возвращается в header ответа:

Request

POST /login
{
    "login": "exampleLogin", "password": "examplePassword"
}
  1. После этого доступна дальнейшая работа, такая как регистрация URL страниц Вашего сайта и получение коротких кодов на эти ссылки, как в примере ниже:

Request

POST /convert
{
    "url": "http://example.ru/someUrl.ru"
}

Response

{
    "code": "someCharacterSet"
}
  1. Данный код можно использовать для перехода по закодированной ссылке. Причём перенаправление на страницу, скрытую под этим кодом, происходит автоматически:

Request

GET /reddirect/someCharacterSet
  1. Последней возможностью является получение статистики переходов по закодированным Вами ссылкам. Каждый раз, когда кто-либо переходит по ссылке с использованием кода, как в примере выше, это учитывается в статистикe, ведущейся для каждого отдельного сайта (пользователя):

Request

GET /statistic

Response

{
    {"url": "http://example.ru/someUrl.ru", "total": 31}
    {"url": "http://example.ru/someOtherUrl.ru", "total": 322}
}

На этом возможности данного приложения заканчиваются.

Искренне благодарю за внимание к моему проекту! Всего Вам хорошего!

Контакты для связи:

Захаренко Сергей
Телефон: +7 995 299 07 34
Telegram Whatsapp Mail

About

REST API for links-to-shortcut conversion and statistic register

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published