Сервис YaCut - это сервис укорачивания ссылок и API к нему
Ключевые возможности сервиса:
- генерация коротких ссылок и связь их с исходными длинными ссылками
- переадресация на исходный адрес при обращении к коротким ссылкам
Пользовательский интерфейс сервиса — одна страница с формой. Эта форма состоит из двух полей:
- обязательного для длинной исходной ссылки
- необязательного для пользовательского варианта короткой ссылки (не должен превышать 16 символов)
Если пользователь предложит вариант короткой ссылки, который уже занят, то появляется соответствующее уведомление. Существующая в базе данных ссылка должна остаться неизменной.
Если пользователь не заполнит поле со своим вариантом короткой ссылки, то сервис должен сгенерировать её автоматически. Формат для ссылки по умолчанию — шесть случайных символов, в качестве которых можно использовать:
- большие латинские буквы,
- маленькие латинские буквы,
- цифры в диапазоне от 0 до 9.
Автоматически сгенерированная короткая ссылка добавляется в базу данных, но только если в ней уже нет такого же идентификатора. В противном случае идентификатор генерируется заново.
Клонировать репозиторий и перейти в него в командной строке:
git clone git@github.com:Esposus/yacut.git
cd yacut
Cоздать и активировать виртуальное окружение:
python3 -m venv venv
-
Если у вас Linux/macOS
source venv/bin/activate
-
Если у вас windows
source venv/scripts/activate
Установить зависимости из файла requirements.txt:
python3 -m pip install --upgrade pip
pip install -r requirements.txt
Запуск тестов:
pytest
Запуск проекта:
flask run