- Технологии
- Описание проекта
- Права пользователей
- Установка и запуск проекта
- Примеры запросов к API
- Автор
- Python 3.11.2
- flask
- flask-sqlalchemy
Проект YaCut — это сервис укорачивания ссылок. Его назначение — ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис.
- Клонируйте репозиторий и перейдите в него в командной строке:
git clone https://github.com/KomkovAleksey/yacut
cd yacut
Cоздайте и активируйте виртуальное окружение:
python3 -m venv venv
-
Если у вас Linux/macOS
source venv/bin/activate
-
Если у вас windows
source venv/scripts/activate
-
Установите зависимости из файла requirements.txt и обновите pip:
python3 -m pip install --upgrade pip
pip install -r requirements.txt
- Создайте .env файл в корневой папке проекта.
touch .env
В нем должны быть указаны.
FLASK_APP
FLASK_ENV
DATABASE_URI
SECRET_KEY
В корневой папке есть файл .env.example, с примером того как надо заполнять .env файл.
- Создайте базу данных.
Убедитесь, что вы находитесь в активированном окружении проекта yacut, и запустите в терминале интерактивную оболочку командой:
flask shell
- Введите команды по очереди:
>>> from yacut import db
>>> db.create_all()
Убедитесь что в корне проекта появился файл db.sqlite3
- Выйдите из интерактивноё оболочи
>>> exit()
- Создайте Репозиторий сценариев мигарций.
flask db init
- Выполните мигарции.
flask db migrate
flask db upgrade
flask run
- Проект доступен по адоесу:
http://127.0.0.1:5000/
Все запросы делались в приложении Postman
http://127.0.0.1:5000/api/id/ — POST-запрос на создание новой короткой ссылки
Запрос:
{
"url": "string",
"custom_id": "string"
}
Ответ:
{
"url": "string",
"short_link": "string"
}
http://127.0.0.1:5000/api/id/<short_id>/ — GET-запрос на получение оригинальной ссылки по указанному короткому идентификатору.
Ответ:
{
"url": "string"
}