Skip to content

ZebraHr/yacut

Repository files navigation

Проект для укорачивания ссылок YaCut.

Описание

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

Возможности

  • Генерация коротких ссылок и связь их с исходными длинными ссылками
  • Переадресация на исходный адрес при обращении к коротким ссылкам
  • Pабота с api

Технологии

  • Python 3.9
  • Фреймворк Flask
  • SQLAlchemy

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

  • Клонируйте репозитоий
git clone https://github.com/ZebraHr/yacut
  • Установите и активируйте виртуальное окружение
python3 -m venv venv
source venv/Scripts/activate
python3 -m pip install --upgrade pip
  • Установите зависимости из файла requirements.txt
pip install -r requirements.txt
  • в корневой папке проекта создайте файл .env следующим содержимым:
FLASK_APP=yacut
DATABASE_URI=sqlite:///db.sqlite3
SECRET_KEY=<ваш_секретный_ключ>
  • создайте базу данных
flask shell
>>> from yacut import db
>>> db.create_all()
  • из корневой папки запустите проект
flask run
  • перейдите по ссылке
http://127.0.0.1:5000/ 

Примеры команд для работы с api

Пример POST-запроса для генерации короткой ссылки:

POST ... http://127.0.0.1:5000/api/id/
{
  "url": "string",
  "custom_id": "string"
}

Пример ответа:

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

Пример GET-запроса для получения полной ссылки:

GET ... http://127.0.0.1:5000/api/id/{short-is}/

Пример ответа:

{
  "url": "string"
}

Автор

Анна Победоносцева

GitHub