TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Tasks directly from a Telegram chat: the bot creates a task with a command in a group, and a kanban board (Mini App) shows Todo / In progress / Done, comments and analytics
AI translation
Задачи прямо из Telegram-чата: бот ставит задачу командой в группе, а канбан-доска (Mini App) показывает Todo / In progress / Done, комментарии и аналитику
ProductivityTypeScript · CSSGitHub @imangali01OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Задачи прямо из Telegram-чата. Бот ставит задачу командой в группе, а доска внутри Telegram (Mini App) показывает их в колонках Todo / In progress / Done, с карточками, комментариями и аналитикой.Read the full README ↗
Задачи прямо из Telegram-чата. Бот ставит задачу командой в группе, а доска внутри Telegram (Mini App) показывает их в колонках Todo / In progress / Done, с карточками, комментариями и аналитикой.
/task @user текст задачи — или отвечают на любое сообщение /task @user, тогда текстом задачи станет это сообщение.Каждое утро в 09:00 (Алматы) бот присылает исполнителям дайджест: что сегодня в срок и что просрочено.
Открывается иконкой графика в шапке доски. Период — 7, 30 или 90 дней, фильтр — по исполнителю.
Время считается от создания задачи до перевода в Done. Если задачу вернуть из Done, она выпадает из статистики до повторного закрытия.
/admin или раздел внутри Mini App) — для супер-админов: включение групп и выбор постановщиков. Вход по 4-значному коду, который присылает бот.Next.js (App Router, TypeScript) на Vercel · Supabase Postgres через Drizzle · grammY для вызовов Bot API · @dnd-kit · Vitest.
Часовой пояс всей логики дат — Asia/Almaty.
npm install
cp .env.example .env.local # заполнить значения
npm run dev
| Команда | Что делает |
|---|---|
npm test | юнит-тесты (src/domain/**, чистая логика без I/O) |
npm run typecheck | проверка типов |
npm run build | сборка |
npm run db:generate / npm run db:migrate | миграции Drizzle |
npm run webhook:set | установить webhook бота на APP_URL |
npm run bot:profile | описание бота и меню команд |
Переменные окружения (.env.local, в git не попадает):
| Имя | Назначение |
|---|---|
TELEGRAM_BOT_TOKEN | токен бота |
TELEGRAM_BOT_USERNAME | username бота без @ |
TELEGRAM_WEBHOOK_SECRET | секрет заголовка webhook |
TELEGRAM_MINIAPP_SHORT_NAME | short name Mini App из BotFather |
DATABASE_URL | Postgres (transaction pooler) |
MIGRATION_DATABASE_URL | Postgres для миграций (session/direct) |
SUPERADMIN_IDS | Telegram ID супер-админов через запятую |
CRON_SECRET | авторизация вызова дайджеста |
SESSION_SECRET | подпись сессий админки и хеширование кодов входа |
APP_URL | публичный адрес приложения |
Структура:
src/domain/ — бизнес-логика без БД и сети, покрыта тестамиsrc/server/ — работа с БД и правамиsrc/app/api/ — HTTP-эндпоинты (webhook бота, API Mini App, админка, cron)src/miniapp/ — интерфейс Mini Appsrc/telegram/ — тексты и отправка сообщений ботаДизайн и планы — в docs/superpowers/. Скриншоты в README сделаны на демо-данных.