Проект YaCut - это сервис укорачивания ссылок. Его назначение - ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис.
- Python — высокоуровневый язык программирования;
- Flask - фреймворк для бэкенд-разработки
- Flask-WTF - расширение для работы с формами,адаптированное под Flask
- SQLAlchemy - библиотека для работы с реляционными СУБД с применением технологии ORM
- Flask-SQLAlchemy - расширение для Flask, для подключения и спользования SQLAlchemy совместно с Flask
Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/elenashovtyuk/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
Cоздать в корневой директории файл .env cо следующими конфигурационными ключами
FLASK_APP=<название приложения>
FLASK_ENV=development или production
DATABASE_URI=sqlite:///db.sqlite3
SECRET_KEY=<ваш_секретный_ключ>
Запуск проекта
flask run
web интерфейс будет доступен по адресу
- Если не заполнить поле для короткой ссылки, она будет сгенерирована автоматически.
- Короткая ссылка должна быть не длиннее 16 символов (цифры и латинские буквы в любом регистре).
POST-запрос на создание новой короткой ссылки
http://127.0.0.1:5000/api/id/
Схема запроса
{
"url": "string",
"custom_id": "string"
}
Формат ответа
{
"url": "string",
"short_link": "string"
}
GET-запрос на получение оригинальной длинной ссылки по короткому идентификатору
http://127.0.0.1:5000/api/id/<short_id>/
Формат ответа
{
"url": "string"
}
Спецификация API доступна в репозитории, в файле openapi.yml
Шовтюк Елена