Skip to content
/ yacut Public

Сервис для укорачивания ссылок

Notifications You must be signed in to change notification settings

lmashik/yacut

Repository files navigation

Проект "Укоротитель ссылок YaCut"


Описание

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


Используемые технологии

  • Python 3.7
  • Flask (микрофреймворк для создания проектов на языке Python)
  • SQLAlchemy (библиотека для работы с реляционными СУБД с применением технологии ORM)
  • WTF (библиотека для работы с формами)
  • Jinja2 (шаблонизатор)

Установка

  1. Клонируйте репозиторий
git clone https://github.com/lmashik/yacut.git
  1. Создайте и активируйте виртуальное окружение
python3.7 -m venv venv
  • Если у вас Linux/macOS

    source venv/bin/activate
  • Если у вас windows

    source venv/scripts/activate
  1. Обновите pip до последней версии
python3 -m pip install --upgrade pip
  1. Установите зависимости из файла requirements.txt
pip install -r requirements.txt

Запуск

В директории проекта создайте файл .env и заполните его по образцу .env.example

Примените миграции

flask db upgrade

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

flask run

API

Сервис имеет API, так что возможна интеграция вашего сервиса с Yacut.

Формат запроса

Запрос осуществляется посредством протокола HTTP 1.1.

Формат ответа

Ответ сервиса представляет собой JSON-документ в кодировке UTF-8, содержимое зависит от запроса.

Ресурсы

Yacut имеет один ресурс: пары "длинная ссылка - короткий идентификатор".

Для создания нового короткого идентификатора (custom_id) для длинной ссылки (url), выполните POST запрос на http://127.0.0.1:5000/api/id/, пример которого ниже:

curl -X POST http://127.0.0.1:5000/api/id/\
-d "url=url"\
-d "custom_id=id"\

Пример ответа в случае успешного выполнения HTTP 1.1 201 CREATED

{
    "short_link": "short_link",
    "url": "url"
}

Для получения длинной ссылки, соответствующей короткому идентификатору, выполните GET-запрос на адрес http://127.0.0.1:5000/api/id//, пример которого ниже:

curl -X GET http://127.0.0.1:5000/api/id/<id>/\

Пример ответа в случае успешного выполнения HTTP 1.1 200 OK

{
    "url": "url"
}

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

Лапикова Мария Дмитриевна mashik_p@mail.ru

About

Сервис для укорачивания ссылок

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published