Skip to content

Latest commit

 

History

History
40 lines (28 loc) · 2.08 KB

README.md

File metadata and controls

40 lines (28 loc) · 2.08 KB

Укорачиватель ссылок

Требования

  • Ссылка должна быть уникальной и на один оригинальный URL должна ссылаться только одна сокращенная ссылка.
  • Ссылка должна быть длинной 10 символов.
  • Ссылка должна состоять из символов латинского алфавита в нижнем и верхнем регистре, цифр и символа _ (подчеркивание).

Сервис должен принимать следующие запросы по http:

  1. Метод Post, который будет сохранять оригинальный URL в базе и возвращать сокращённый.
  2. Метод Get, который будет принимать сокращённый URL и возвращать оригинальный URL.
  • Сервис должен быть распространён в виде Docker-образа.
  • В качестве хранилища ожидается использовать in-memory решение и postgresql. Какое хранилище использовать указывается параметром при запуске сервиса.
  • Покрыть реализованный функционал Unit-тестами.

Для запуска приложения:

docker-compose build urllist-app

Для запуска в режиме postgresql указать переменную окружения MEM_MODE:

docker-compose run -e MEM_MODE=POSTGRES -p 8000:8000 urllist-app

По-умолчанию запуск в режиме in-memory:

docker-compose run -p 8000:8000 urllist-app

To do:

  • Исправить запуск контейнера с postgre при запуске в режиме in-memory.
  • Тест postgres.go проводится на запущенной БД. Использовать ory/dockertest.
  • Миграции БД.
  • Добавить Makefile.