Files
alert-message-center/todo.md

3.0 KiB

Alert Message Center Project Plan

Phase 1: Core Functionality (Completed)

  • Initialize project structure (Bun, Monorepo)
  • Setup Backend (Hono + Bun)
    • Setup Drizzle (PostgreSQL)
    • Refactor Schema: Switch from Bots/Roles to Topics/Users/Subscriptions
    • Feishu Integration: Implement Tenant Access Token & Private Message sending
    • Implement Webhook API (POST /api/webhook/:slug)
    • Implement Management APIs (CRUD for Topics, Users)
  • Setup Frontend (Vite + React + Tailwind)
    • Topics View: Manage topics and subscriptions
    • Users View: Manage users and Feishu IDs
    • Remove obsolete Bots/Roles views

Phase 2: Enhancements

  • Authentication: Feishu SSO integration and role-based access control.
  • Global Monitoring Dashboard: Real-time System Load metrics (Grafana-style).
  • Global Topics: Support for broadcasting alerts to all users automatically.
  • Message Preview: Preview Feishu card JSON in the UI.
  • History/Logs: Basic tracking for sent alerts (Alert Tasks/Logs).
  • Admin Topic Management: Approve, reject, and delete topics (with audit trail).
  • Personal Inbox: Direct alert delivery bypassing topics.
  • Retry Mechanism: Handle Feishu API failures.
  • Deployment: Dockerfile and CI/CD (GitHub Actions + GHCR).
  • Feishu Group Chat: Event-based group discovery and alerting (App Bot).
  • Auto-Cleanup: Unbind subscriptions when bot is removed from group.
  • Long Connection: WebSocket support for intranet deployments.
  • Structured Logging: Integrated pino for better observability.
  • Linting: Tightened Biome rules and resolved all a11y/correctness issues.
  • Automated Migrations: Automatically initialize database schema on startup (especially in Docker).
  • Frontend Resilience: Hardened API calls to prevent crashes on empty data or env access errors.
  • CI & Type Safety: Resolved all TypeScript errors and Biome formatting issues to ensure a healthy CI pipeline.
  • User Token Shortening: Shortened personalToken to 8 characters and integrated automated migration into the deployment script.
  • Visual Identity: Added custom logo, favicon and integrated them into the UI (login/navbar).
  • Migration Robustness: Fixed migration failures in Docker by un-ignoring the drizzle meta directory.
  • Scalability & Security: Implemented Trusted User system, ownership-based group binding, and Admin notification for topic requests.
  • User Management UI: Added "Admin" badges and a "Trusted" toggle in the User Management view.
  • Searchable Group Binding: Implemented server-side search and searchable dropdown for smoother group chat management.
  • Bilingual Documentation: Split README into English and Chinese versions for international outreach.
  • Multi-Replica Safety: Implemented Postgres Advisory Locks for safe concurrent migrations.