Skip to content

✂️ Проект YaCut — это сервис укорачивания ссылок.

Notifications You must be signed in to change notification settings

Hastred45/yacut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Укоротитель ссылок YaCut

Учебный проект в рамках курса Яндекс.Практикум

Описание

Проект YaCut — это сервис укорачивания ссылок. Его ключевые возможности:

  • генерация коротких ссылок (пользовательская или предлагаемая сервисом) и связь их с исходными длинными ссылками,
  • переадресация на исходный адрес при обращении к коротким ссылкам.

Также всем желающим доступен API проекта.

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

  • Генерация короткой ссылки:

    POST /api/id/
    {
      'url': 'string',
      'custom_id': 'string'
    }
  • Получение оригинальной ссылки по указанному короткому идентификатору:

    GET /api/id/{short_id}/

Технологии

  • Python 3.9
  • Flask 2.0.2
  • REST API
  • SQLAlchemy
  • HTML

Установка и запуск проекта локально

Инструкции
  • Клонировать репозиторий и перейти в него в командной строке:

    git clone https://github.com/Hastred45/yacut
    cd yacut
  • Cоздать и активировать виртуальное окружение:

    • Если у вас Linux/MacOS

      python3 -m venv venv
      source venv/bin/activate
    • Если у вас windows

      python -m venv venv
      source venv/scripts/activate
  • Установить необходимые зависимости:

    python -m pip install --upgrade pip
    pip install -r requirements.txt
  • Не забудьте создать файл .env и наполнить его:

    DATABASE_URI=<dialect+driver://username:password@host:port/database>
    FLASK_APP=yacut
    FLASK_ENV=development
    SECRET_KEY=<Ваш_секретный_ключ>
    
  • Создать файл базы данных и таблицы в нем:

    flask shell
    >>> from yacut import db
    >>> db.create_all()
  • Запустить локально:

    flask run

Автор

Сергей Осетров [email protected]

About

✂️ Проект YaCut — это сервис укорачивания ссылок.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages