Skip to content

AlexNov03/UrlShortener

Repository files navigation

Репозиторий проекта URLShortener

Приложение должно принимать оригинальный URL и создавать на основе него сокращенный.

В качестве базы данных необходимо привести две реализации:

  • PostgreSql
  • самостоятельно реализованный пакет для хранения ссылок в памяти приложения

Техническое задание

Ссылка на задание

Режимы запуска

Для изменения режима запуска необходимо изменить docker-compose.yaml файл

Запуск приложения с базой данных Postgres

mainservice:
    build: .
    container_name: url_shortener
    ports:
        - "8080:8080"
    command: ["./output", "-in-memory=false"]
    depends_on:
        - db1

Запуск приложения с in-memory базой данных

mainservice:
    build: .
    container_name: url_shortener
    ports:
        - "8080:8080"
    command: ["./output", "-in-memory=true"]
    depends_on:
        - db1

Примеры входных и выходных данных

Входные данные

{
  "original_url":"https://ya.ru/?npr=1\u0026utm_referrer=https%3A%2F%2Fyandex.ru%2F\u0026ysclid=m7s5w6kifw169384164"
}

Выходные данные

{
  "shortened_url":"http://<IP_ADDRESS>:8080/Ab_Cgf_edB"
}

Работа с приложением

Запуск приложения

make start

Остановка всех контейнеров приложения

make stop

Работа с миграциями

Применить миграцию

make migrate-up

Откатить миграцию

make migrate-down

Покрытие тестами по пакетам

delivery Coverage

usecase Coverage

repository/pg Coverage

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published