1. Product Goal
Create a Telegram bot for task management in the format of boards and cards (similar to Trello), intended for:
- individual users
- teams working in Telegram groups
The product is distributed by subscription and is intended for commercial use.
2. Usage Formats
2.1 Personal Mode (Personal Workspace)
- Working in a personal chat with the bot
- One user = owner of the Workspace
2.2 Team Mode (Group Workspace)
- The bot is added to a Telegram group
- One group = one Workspace
- All group members work with shared boards
- All actions are synchronized among participants
3. Business Model
Subscription through Telegram stars
Rates
Free
- 1 board
- up to 50 cards
- no deadlines
- no reminders
- no roles
- no files
Team
- up to 10 boards
- unlimited cards
- deadlines and reminders
- user roles
- comments
- files (size limit)
Pro
- no limits
- increased file limit
- data export
- priority support
4. Main Entities and Data Model
User
- telegram_id
- name
- language
- registration date
Workspace
- id
- type: personal / group
- chat_id (for group)
- owner
- rate
- subscription end date
Workspace Participants
Board
- workspace_id
- name
- position
- archive
List
Card
- list_id
- name
- description
- position
- deadline
- archive
Comment
- card_id
- user_id
- text
- creation date
- edited (bool)
File
- card_id
- user_id
- telegram_file_id
- file name
- size
- type
- upload date
Assigned
Action Logs
- workspace_id
- user_id
- action
- entity
- date
5. Roles and Access Rights
Roles
6. Functional Requirements
6.1 Navigation
- /start — onboarding + Workspace selection
- /boards — list of boards
- /my — my tasks
- /settings — Workspace settings
- /subscribe — subscription management
Management is done through inline buttons.
6.2 Boards and Lists
- Creating / archiving boards
- Auto-creating lists:
- Renaming lists
- Changing the order of lists
6.3 Cards
- Creating and editing
- Moving between lists
- Assigning executors
- Archiving
- Viewing change history
6.4 Comments
- Adding comments to a card
- Editing own comments
- Notifying card participants of new comments
- Limitation: available only in paid plans
6.5 Files
- Uploading files to a card via Telegram
- Support:
- documents
- images
- videos (size limit)
- Storing files via Telegram file_id (no own storage)
- Limits:
- Free — not available
- Team — size and quantity limit
- Pro — increased limits
6.6 Deadlines and Reminders
- Setting deadlines
- Reminders:
- 24 hours in advance
- 1 hour in advance
- Sending:
- to personal messages
- to group (optional)
- Upon subscription expiration — reminders are disabled
6.7 Search
- By cards:
- Filter by executor
7. Subscription and Payments
- Telegram Payments
- Auto-renewal
- Processing:
- successful payment
- cancellation
- expiration
- Upon subscription expiration:
- data is saved
- functions are blocked
8. Administration
- Admin commands:
- user statistics
- Workspaces statistics
- manual subscription issuance
- Error logs
- Bot status monitoring
9. Technical Requirements
- Backend: Python (aiogram 3) or Node.js (grammY)
- Database: PostgreSQL
- Task queue: Celery / RQ
- Docker + docker-compose
- Webhook
- Configuration via env
- Scalable architecture
10. Security and Stability
- Permission check for each action
- Rate limiting on button presses
- Correct handling of concurrent changes
- Data loss protection