[RU]
Telegram-бот для отслеживания соблюдения Благородного Восьмеричного Пути в повседневной жизни. Приложение помогает пользователям вести ежедневный журнал практики и получать статистику по соблюдению каждого аспекта пути.
- 📝 Ежедневное отслеживание соблюдения 8 аспектов пути
- 💭 Возможность добавления комментариев к каждому дню
- 📊 Еженедельные и месячные отчеты
- 📚 Подробное описание каждого аспекта пути
- 🔔 Ежедневные напоминания
- 🌐 Веб-интерфейс через Telegram Web App
- Node.js 20
- TypeScript
- Express.js
- SQLite3
- TypeORM
- Telegraf
- Docker
- Node.js 20+
- npm
- Docker (опционально)
- Клонируйте репозиторий:
git clone https://github.com/MaximStone/eight-truths.git
cd eight-truths- Установите зависимости:
npm install- Создайте файл
.envв корне проекта:
TELEGRAM_TOKEN=your_telegram_bot_token
WEBAPP_URL=http://localhost:5000- Запустите приложение в режиме разработки:
npm run dev- Для разработки:
docker compose -f docker-compose.dev.yml up --build -d- Для продакшена:
docker compose up --build -dПроект включает скрипты для автоматической синхронизации с удаленным сервером:
- Добавьте в
.envследующие параметры:
SSH_HOST=your_server_ip
SSH_KEY_PATH=path_to_your_ssh_key
REMOTE_PATH=/path/on/server
SSH_USER=your_ssh_user- Для одноразовой синхронизации:
npm run sync- Для автоматической синхронизации при изменении файлов:
npm run sync:watch├── src/
│ ├── app.ts # Основной файл приложения
│ ├── telegramBot.ts # Логика Telegram бота
│ ├── entity/ # TypeORM сущности
│ │ ├── Entry.ts # Модель записи
│ │ └── User.ts # Модель пользователя
│ └── middleware/ # Middleware компоненты
│ └── telegramAuth.ts # Аутентификация Telegram
├── public/ # Статические файлы
│ └── index.html # Веб-интерфейс
├── scripts/ # Скрипты утилит
│ ├── sync.js # Синхронизация с сервером
│ └── watch.js # Отслеживание изменений
└── docker/ # Docker конфигурация
npm run dev- Запуск в режиме разработкиnpm run build- Сборка проектаnpm start- Запуск собранного проектаnpm run sync- Синхронизация с серверомnpm run sync:watch- Автоматическая синхронизация при изменениях
/start- Начало работы с ботом/help- Показать справку/new- Создать новую запись/report- Сгенерировать отчет/comment- Добавить комментарий за сегодня
- Просмотр статистики за неделю/месяц
- Редактирование записей
- Добавление и редактирование комментариев
- Подробная информация о каждом аспекте пути
- Аутентификация пользователей через Telegram
- Проверка подписи данных от Telegram
- Безопасное хранение токенов и конфиденциальных данных
MIT
Максим Костерин + LLM
[EN]
Telegram bot for tracking adherence to the Noble Eightfold Path in daily life. The application helps users maintain a daily journal of practice and receive statistics on the adherence of each aspect of the path.
- 📝 Daily tracking of adherence to 8 aspects of the path
- 💭 Ability to add comments to each day
- 📊 Weekly and monthly reports
- 📚 Detailed description of each aspect of the path
- 🔔 Daily reminders
- 🌐 Web interface through Telegram Web App
- Node.js 20
- TypeScript
- Express.js
- SQLite3
- TypeORM
- Telegraf
- Docker
- Node.js 20+
- npm
- Docker (optional)
- Clone the repository:
git clone https://github.com/MaximStone/eight-truths.git
cd eight-truths- Install dependencies:
npm install- Create a
.envfile in the project root:
TELEGRAM_TOKEN=your_telegram_bot_token
WEBAPP_URL=http://localhost:5000- Run the application in development mode:
npm run dev- For development:
docker compose -f docker-compose.dev.yml up --build -d- For production:
docker compose up --build -dThe project includes scripts for automatic synchronization with the remote server:
- Add the following parameters to
.env:
SSH_HOST=your_server_ip
SSH_KEY_PATH=path_to_your_ssh_key
REMOTE_PATH=/path/on/server
SSH_USER=your_ssh_user- For a one-time synchronization:
npm run sync- For automatic synchronization when files change:
npm run sync:watch├── src/
│ ├── app.ts
│ ├── telegramBot.ts
│ ├── entity/
│ │ ├── Entry.ts
│ │ └── User.ts
│ └── middleware/
│ └── telegramAuth.ts
├── public/
│ └── index.html
├── scripts/
│ ├── sync.js
│ └── watch.js
└── docker/
npm run dev- Run in development modenpm run build- Build the projectnpm start- Run the built projectnpm run sync- Synchronize with the servernpm run sync:watch- Automatic synchronization when files change
/start- Start working with the bot/help- Show help/new- Create a new entry/report- Generate a report/comment- Add a comment for today
- View statistics for week/month
- Edit entries
- Add and edit comments
- Detailed information about each aspect of the path
- User authentication through Telegram
- Verification of Telegram data signatures
- Secure storage of tokens and sensitive data
MIT
Maxim Kosterin + LLM