Данный сервис поможет вам укоротить длинные ссылки путем создания для них идентификатора по умолчанию (если не указан вами) или выбора собственного, из которого будет сделана удобная короткая ссылка. При переходе по данной короткой ссылке вы попадете на страницу, на которую ведет соответствующая длинная ссылка.
- Python 3.7
- Flask (микрофреймворк для создания проектов на языке Python)
- SQLAlchemy (библиотека для работы с реляционными СУБД с применением технологии ORM)
- WTF (библиотека для работы с формами)
- Jinja2 (шаблонизатор)
- Клонируйте репозиторий
git clone https://github.com/lmashik/yacut.git
- Создайте и активируйте виртуальное окружение
python3.7 -m venv venv
-
Если у вас Linux/macOS
source venv/bin/activate
-
Если у вас windows
source venv/scripts/activate
- Обновите pip до последней версии
python3 -m pip install --upgrade pip
- Установите зависимости из файла requirements.txt
pip install -r requirements.txt
В директории проекта создайте файл .env и заполните его по образцу .env.example
Примените миграции
flask db upgrade
Запустите проект
flask run
Сервис имеет 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