Проект YaCut — это сервис укорачивания ссылок. Его назначение — ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис. API сервиса доступен всем желающим.
Расширения для Flask:
Клонировать репозиторий и перейти в него в командной строке:
git clone git@github.com:vasilekx/yacut.git
cd yacut
Создать файл .env
-
Если у вас Linux/MacOS
touch .env
-
Если у вас Windows
type nul > .env
Заполнить файл .env:
FLASK_APP=opinions_app
FLASK_ENV=development
DATABASE_URI=sqlite:///db.sqlite3
SECRET_KEY=YOUR_SECRET_KEY
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
Создать базу данных:
flask shell
from yacut import db; db.create_all(); exit()
Выполнить запус сервиса:
flask run
http://127.0.0.1:5000/
http://127.0.0.1:5000/api/id/
POST-запрос:
http://127.0.0.1:5000/api/id/
Тело запроса:
{
"url": "https://flask.palletsprojects.com/en/latest/",
"custom_id": "myshorturl"
}
Ответ:
{
"short_link": "http://127.0.0.1:5000/myshorturl",
"url": "https://flask.palletsprojects.com/en/latest/"
}
GET-запрос:
http://127.0.0.1:5000/api/id/myshorturl
Ответ:
{
"url": "https://flask.palletsprojects.com/en/latest/"
}
- Реализовать валидацию URL.