Проект YaCut — это сервис укорачивания ссылок. Его назначение — ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис.
- Python 3.9.10
- Flask-Migrate 3.1.0
- Flask-WTF 1.0.0
- SQLAlchemy 1.4.29
- python-dotenv 0.19.2
Клонировать репозиторий и перейти в него в командной строке:
git clone git@github.com:meteopavel/yacut.git
Cоздать и активировать виртуальное окружение:
python3 -m venv venv
linux: source env/bin/activate
windows: source venv/Scripts/activate
Установить зависимости из файла requirements.txt:
python3 -m pip install --upgrade pip
pip install -r requirements.txt
Создать файл переменных окружения .env:
touch .env
И наполнить его переменными по примеру файла .env.example
flask db upgrade
flask run
Команда запустит сервер flask. После этого ресурс станет доступен по адресу http://127.0.0.1:5000. Сервис можно использовать как через браузер, так и через API:
Пример запроса:
{
"url": "string",
"custom_id": "string"
}
Поле "custom_id" является опциональным. При его отсутствии, или если оно будет пустым, короткая ссылка будет сгенерирована автоматически. Ожидаемый ответ:
{
"url": "string",
"short_link": "string"
}
/api/id/<short_id>/ — GET-запрос на получение оригинальной ссылки по указанному короткому идентификатору.
Ожидаемый ответ:
{
"url": "string"
}
Полная документация доступна в файле openapi.yml