Skip to content

LinkShorty is a URL shortening service that allows users to create custom short links or automatically generate them, with features such as redirecting and validating custom links

Notifications You must be signed in to change notification settings

aleksandr-miheichev/link_shorty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkShorty: настраиваемый укорачиватель URL-адресов

Содержание


Описание проекта:

На большинстве сайтов адреса страниц довольно длинные, например, как у той страницы, на которой вы сейчас находитесь. Делиться такими длинными ссылками не всегда удобно, а иногда и вовсе невозможно.

Удобнее использовать короткие ссылки. Данный проект — это сервис укорачивания ссылок. Его назначение — ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис.

Ключевые возможности сервиса:

  • генерация коротких ссылок и связь их с исходными длинными ссылками;
  • переадресация на исходный адрес при обращении к коротким ссылкам.

Пользовательский интерфейс сервиса — одна страница с формой. Эта форма состоит из двух полей:

  • обязательного для длинной исходной ссылки;
  • необязательного для пользовательского варианта короткой ссылки.

Пользовательский вариант короткой ссылки не должен превышать 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

Шаблон наполнения файла .env:

FLASK_APP=yacut
FLASK_DEBUG=True
DATABASE_URI=sqlite:///db.sqlite3
SECRET_KEY=3512651654sdg1fsd35fg1d3f5h1fg35j1f3

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

Чтобы запустить приложение, необходимо в терминале использовать команду

flask run

Далее отрыть сайт с проектом перейдя по ссылке:

http://127.0.0.1:5000/


Над проектом работал:

About

LinkShorty is a URL shortening service that allows users to create custom short links or automatically generate them, with features such as redirecting and validating custom links

Topics

Resources

Stars

Watchers

Forks