Telegram Mini App для ежедневных отчетов и трекинга привычек с визуализацией в виде heatmap.
- 📊 Heatmap визуализация активности (как на GitHub)
- 📝 Ежедневные отчеты с оценкой импакта (1-5)
- 🏷️ Привычки/теги для отчетов
- 🔥 Отслеживание стриков
- 👤 Профиль со статистикой
- Frontend: Next.js 14, TypeScript, Tailwind CSS
- Backend: Supabase (PostgreSQL)
- Telegram SDK: @telegram-apps/sdk-react
- Хостинг: Vercel
npm install- Создайте проект на supabase.com
- Перейдите в SQL Editor и выполните миграцию из файла
supabase/migrations/001_initial_schema.sql - Скопируйте URL и anon key из Project Settings > API
Создайте файл .env.local:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
TELEGRAM_BOT_TOKEN=your-bot-token- Откройте @BotFather в Telegram
- Отправьте
/mybotsи выберите вашего бота - Перейдите в Bot Settings > Menu Button (или Mini App)
- Установите URL вашего приложения (после деплоя на Vercel)
npm run devПриложение будет доступно на http://localhost:3000
- Загрузите проект на GitHub
- Импортируйте репозиторий в Vercel
- Добавьте переменные окружения в настройках проекта
- Деплой произойдет автоматически
После деплоя обновите URL Mini App в BotFather.
src/
├── app/
│ ├── layout.tsx # Root layout с провайдерами
│ ├── page.tsx # Главная страница
│ ├── profile/page.tsx # Страница профиля
│ ├── report/[id]/page.tsx # Страница отчета
│ └── api/auth/route.ts # API для авторизации
├── components/
│ ├── TelegramProvider.tsx # Интеграция с Telegram
│ ├── AppProvider.tsx # Контекст приложения
│ ├── HeatmapGrid.tsx # Сетка активности
│ ├── HabitTabs.tsx # Табы привычек
│ ├── JournalList.tsx # Список отчетов
│ ├── ReportModal.tsx # Модалка отчета
│ └── ...
├── lib/
│ ├── supabase.ts # Клиент Supabase
│ ├── telegram.ts # Утилиты Telegram
│ └── utils.ts # Вспомогательные функции
└── types/
└── index.ts # TypeScript типы
- users - пользователи (telegram_id, username, first_name, avatar_url)
- habits - привычки (name, order_index)
- reports - отчеты (report_date, content, impact)
- report_habits - связь отчетов и привычек
MIT