Skip to content

BucketOnHead/java-task-tracker-telegram-bot

Repository files navigation

TaskTrackifyBot v1.1.1

TaskTrackifyBot - это телеграм-бот, предназначенный для планирования задач и повышения продуктивности. Он обеспечивает удобный способ записи, просмотра и удаления задач, помогая вам организовать свою работу.

Оглавление

Архитектура проекта

project_architecture.png

назад

Инструкция по установке

назад

Требования

  • Git
  • Docker
  • JDK 11
  • Apache Maven

назад

Установка

  1. Склонируйте проект с помощью команды:
git clone https://github.com/BucketOnHead/java-task-tracker-telegram-bot
  1. Заполните файл .env.example и переименуйте его в .env:
TELEGRAM_BOT_USERNAME=YourBotUsername
TELEGRAM_BOT_TOKEN=YourBotToken
# and others
  1. Перейдите в директорию проекта:
cd java-task-tracker-telegram-bot
  1. Соберите проект с помощью Apache Maven:
mvn clean install

назад

Запуск

После установки проекта, вы можете запустить его с помощью команды:

docker-compose up -d

назад

Лицензия

Этот проект лицензирован в соответствии с лицензией MIT.

Пожалуйста, ознакомьтесь с полным текстом лицензии, прежде чем использовать данный проект.

назад

Описание переменных окружения

Important

Указанная информация может устареть со временем.

Переменная окружения Описание
TELEGRAM_BOT_USERNAME Имя вашего бота в Telegram
TELEGRAM_BOT_TOKEN Токен вашего бота в Telegram
RABBITMQ_DEFAULT_USER Имя пользователя для RabbitMQ
RABBITMQ_DEFAULT_PASS Пароль пользователя для RabbitMQ
COMMON_DB_NAME Имя общей базы данных
COMMON_DB_USER Имя пользователя для общей базы данных
COMMON_DB_PASSWORD Пароль пользователя для общей базы данных

назад

Функционал

Important

Указанная информация может устареть со временем.

Команда Функция
/start Запуск бота
/delete Удаление аккаунта
/help Получение списка доступных команд
/profile Получить информацию о профиле
/taskmode Переход в режим управления задачами
/main Переход в главный режим
/task Создание задачи
/tasks Получение списка задач
/donetask Удаление задачи из списка

назад

Хеширование

назад

Добавление хеширования

Important

Указанная информация может устареть со временем.

Если вам необходимо добавить хеширование для вашей сущности и вы хотите использовать библиотеку Caffeine, вы можете воспользоваться классом AbstractCaffeineAppCache из модуля node, который уже содержит базовые методы. Вы можете помещать сущность в хеш без явного указания ключа, если переопределите метод K getKey(V value). В противном случае будет сгенерировано исключение RuntimeException с сообщением: "Saving entity only by value is not provided or not implemented".

назад

Настройка хеширования

Important

Указанная информация может устареть со временем.

Настройка хеширования выполняется в модуле node в классе конфигурации AppCacheConfig с использованием библиотеки Caffeine. Пример настройки представлен ниже:

package com.github.bucketonhead.config;

@Configuration
public class AppCacheConfig {

    @Bean
    public Cache<Long, AppUser> appUserCaffeine() {
        return Caffeine.newBuilder()
                .expireAfterAccess(10, TimeUnit.MINUTES)
                .maximumSize(100)
                .build();
    }
}

По умолчанию, пользователь будет удален из кеша через 10 минут после последнего обращения. Максимальное количество мест в кеше составляет 100.

назад