Readme.md

URL Shortener

Этот проект представляет собой сервис для получения сокращённых ссылок через API ВКонтакте. Он позволяет загружать файлы с длинными ссылками, которые автоматически обрабатываются для генерации коротких ссылок. Также поддерживается работа с текстовыми файлами, где каждая длинная ссылка размещена на новой строке.

Основные технологии:

  • Python 3.11 (язык программирования)
  • Flask (веб-фреймворк)
  • aiohttp (для асинхронных HTTP-запросов)
  • Docker (для контейнеризации)
  • VK API (для получения коротких ссылок)

Как развернуть проект:

  1. Клонируйте репозиторий:

    git clone https://gitflic.ru/project/s-evg/test_futuretoday.git
    cd test_futuretoday
    
  2. Создайте файл .env и укажите в нём необходимые переменные окружения:

    TOKEN=your_vk_token
    
  3. Запустите проект с помощью Docker Compose:

    Убедитесь, что у вас установлен Docker и Docker Compose. Для запуска проекта выполните команду:

    docker-compose up --build
    
  4. Доступ к веб-приложению:

    После запуска приложение будет доступно по адресу http://localhost:5000.

Как использовать:

  1. Загрузка файла:

    Перейдите на главную страницу приложения, загрузите файл форматов .xlsx или .csv, содержащий длинные ссылки.

  2. Получение коротких ссылок:

    После загрузки файла автоматически начинается его обработка, и результат — сокращённые ссылки — будет доступен для скачивания в виде Excel-файла.

  3. Работа с текстовым файлом:

    Если вы загружаете текстовый файл, в котором каждая длинная ссылка находится на новой строке, приложение также обработает его и предоставит файл с сокращёнными ссылками.

Примечания:

  • Убедитесь, что у вас есть действующий токен ВКонтакте для работы с VK API.
  • В случае проблем с развертыванием, убедитесь, что порты, указанные в docker-compose.yml, свободны.

Дополнение:

Для примера создал и равернул Телеграм-бот в Яндекс Облако:
Shortener Link
Работает на облачных функция в Serverless-режиме =)

Описание

Тестовое задание для FutureToday

Конвейеры
0 успешных
0 с ошибкой