- Описание проекта
- Технологический стек
- Как развернуть проект
- Настройка базы данных
- Шаблон наполнения файла .env
- Запуск приложения
- Над проектом работал
На большинстве сайтов адреса страниц довольно длинные, например, как у той страницы, на которой вы сейчас находитесь. Делиться такими длинными ссылками не всегда удобно, а иногда и вовсе невозможно.
Удобнее использовать короткие ссылки. Данный проект — это сервис укорачивания ссылок. Его назначение — ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис.
Ключевые возможности сервиса:
- генерация коротких ссылок и связь их с исходными длинными ссылками;
- переадресация на исходный адрес при обращении к коротким ссылкам.
Пользовательский интерфейс сервиса — одна страница с формой. Эта форма состоит из двух полей:
- обязательного для длинной исходной ссылки;
- необязательного для пользовательского варианта короткой ссылки.
Пользовательский вариант короткой ссылки не должен превышать 16 символов.
Если пользователь предложит вариант короткой ссылки, который уже занят, то об этом сообщается пользователю через уведомление. Существующая в базе данных ссылка остаётся неизменной.
Если пользователь не заполнит поле со своим вариантом короткой ссылки, то сервис сгенерирует её автоматически. Формат для ссылки по умолчанию — шесть случайных символов, в качестве которых можно использовать:
- большие латинские буквы,
- маленькие латинские буквы,
- цифры в диапазоне от 0 до 9.
Клонировать репозиторий и перейти в него в терминале используя команду
cd
git clone git@github.com:aleksandr-miheichev/
Создать и активировать виртуальное окружение:
python -m venv venv
source venv/Scripts/activate
Установить зависимости из файла requirements.txt:
pip install -r requirements.txt
Создайте миграции с помощью команды в терминале:
flask db migrate -m "short_comment"
Опциональный параметр -m позволяет добавить короткий комментарий к создаваемой миграции.
Чтобы применить найденные изменения к базе данных, выполните команду:
flask db upgrade
FLASK_APP=yacut
FLASK_DEBUG=True
DATABASE_URI=sqlite:///db.sqlite3
SECRET_KEY=3512651654sdg1fsd35fg1d3f5h1fg35j1f3
Чтобы запустить приложение, необходимо в терминале использовать команду
flask run
Далее отрыть сайт с проектом перейдя по ссылке: