Описание: Разработать Telegram-бота, который позволяет пользователю вести задачи, выгружать их в Google Sheets и получать статистику по категориям, а также искать задачи по названию с учётом опечаток.
Функционал:
- Бот
- Список категорий задач (разработка/тестирование/аналитика или другие)
- Добавление задачи в категорию
- Показать список задач текущего пользователя
- Выгрузить задачи в Google Sheets
- Показать статистику по категориям (кол-во задач в каждой).
- Поиск задачи по названию. Если точного совпадения нет, предлагаются похожие варианты.
- Асинхронная обработка Выгрузка задач должна происходить асинхронно и не блокировать основной поток
- Интеграция с Google API Выгрузка задач пользователя в Google Sheets через Google API.
- Админка
- У админа должна быть возможность отключить экспорт для всех пользователей.
- Docker
- Бот должен собираться через докер со всей инфраструктурой
- Должна быть инструкция по сборке и запуску бота
DOCKER services: postgres: image: postgres:15 container_name: tasktracker_postgres restart: always environment: POSTGRES_DB: ttdb POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5433:5432" volumes: - postgres_data:/var/lib/postgresql/data
app: build: . container_name: tasktracker_app restart: always depends_on: - postgres environment: SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/ttdb SPRING_DATASOURCE_USERNAME: postgres SPRING_DATASOURCE_PASSWORD: postgres TELEGRAM_BOT_TOKEN: 8407713554:AAGoC9m0aB-dXYd_61ye8Jcg1uzNNH08oPs TELEGRAM_BOT_NAME: "@fily_dating_bot" TELEGRAM_BOT_PATH: https://vengefully-nurturing-scorpionfish.cloudpub.ru GOOGLE_SPREADSHEET_ID: 1zqV0SOw92xSI5sZO6zm5VZekNHqwDIWbdCKhvH9FnTs BOT_ADMIN_ID: 845094221 SERVER_PORT: 12727 ports: - "12727:12727"
volumes: postgres_data: