Skip to content

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

Notifications You must be signed in to change notification settings

KomkovAleksey/yacut

Repository files navigation

✄ YaCut_project

Оглавление

Технологии:

  • 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

Запуск проекта в dev-режиме:

flask run
  • Проект доступен по адоесу:
http://127.0.0.1:5000/

Примеры запросов к API

Все запросы делались в приложении 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"
}

Автор

Алексей Комков

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published