Skip to content

Сервис для создания коротких ссылок. Короткие ссылки ассоциируется с длинными в базе данных и работают при помощи инструментов фреймворка.

Notifications You must be signed in to change notification settings

babichdenis/yacut

Repository files navigation

YaCut

Python Flask Jinja2 REST SQLAlchemy

image

Сервис укорачивания ссылок с web интерфейсом и REST API. Его назначение — ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис.

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

  • Генерация коротких ссылок и связь их с исходными длинными ссылками
  • Переадресация на исходный адрес при обращении к коротким ссылкам
  • /api/id/ — POST-запрос на создание новой короткой ссылки;
  • /api/id/<short_id>/ — GET-запрос на получение оригинальной ссылки по указанному короткому идентификатору.

Доступны web и api интерфейсы.

Технологии

  • Python 3.10
  • Flask 2.0
  • Jinja2 3.0
  • SQLAlchemy 1.4

Использование

Клонировать репозиторий и перейти в него в командной строке:

git clone git@github.com/babichdenis/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

Создать в корневой папке файл .env с данными:

FLASK_APP=yacut
FLASK_ENV=development
DATABASE_URI=sqlite:///db.sqlite3
SECRET_KEY=YOUR_SECRET_KEY

Создать базу данных и выполнить миграции:

flask db upgrade

Запуск проекта:

flask run

Приложение будет доступно по адресу: http://127.0.0.1:5000/


Автор проекта: babichdenis

About

Сервис для создания коротких ссылок. Короткие ссылки ассоциируется с длинными в базе данных и работают при помощи инструментов фреймворка.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published