-
Hoanganhvu123 authored
EPIC 8 - INBOUND WEBHOOKS & CRM INBOX
✅ ======================================== Backend: - Add is_read field to memos table with auto-migration - Inbound webhook endpoint: POST /inbound_webhooks/{workspace_id} - Inbox endpoints: GET /users/{id}/inbox/unread_count, GET /users/{id}/inbox/memos - Webhook payload formatting (title+body → markdown, arbitrary → bullet list) - Optional secret verification via X-Webhook-Secret header - Database indexes: idx_memos_is_read, idx_memos_workspace Frontend: - Inboxes.tsx: Two tabs (Notifications + Unread Memos) - useInboxUnreadCount hook with 60s refetch - useMarkMemoAsRead mutation - Navigation badge: notifications + unread memos count - i18n: inbox.* keys (en/vi) DOCUMENT MANAGEMENT (DOCX/PDF)🆕 ================================== Backend: - New table: cuccu_documents with full schema - DocumentService: upload, list, get, update, delete, process, import_to_memo - AI enhancement via OpenAI (tag extraction + summarization) - python-docx integration for text extraction - Status workflow: PENDING → PROCESSING → COMPLETED/FAILED - API routes: /documents/upload, /documents, /documents/{id}, /documents/{id}/process, /documents/{id}/import Frontend: - New page: DocumentsPage (route: /app/documents) - Components: UploadArea, DocumentList, DocumentCard, PreviewPanel - Hooks: useDocuments, useDocumentUpload, useDocumentProcess, useDocumentImport - AI enhancement panel with toggles (extract tags, generate summary) - Drag-and-drop file upload with validation - Status badges, tag display, content preview - Workspace isolation support - Full i18n support (en/vi) Files changed: - Backend: 15+ files (new: api/documents/, common/sqlite_client.py updates, schemas, services, config) - Frontend: 20+ files (new: components/Documents/, hooks/useDocuments.ts, docxService.ts, pages/DocumentsPage.tsx) - Tests: test_inbox.py (5 tests passing) - Plan docs: epic-8-inbound-webhooks-crm-inbox-done.md, docx-frontend-detailed-plan.md🤖 Generated with Claude Codea67917c3
| Name |
Last commit
|
Last update |
|---|---|---|
| .agent | ||
| .gemini | ||
| .playwright-mcp | ||
| app | ||
| backend | ||
| cuccu_note @ 0d884ac8 | ||
| flow | ||
| miniapp/cuccu_note | ||
| plan | ||
| preferences | ||
| public | ||
| scripts | ||
| temp-skills @ c124b3b1 | ||
| .codex | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .pre-commit-config.yaml | ||
| CLAUDE.md | ||
| report_class_guide.md | ||
| report_demo.html | ||
| report_template.css | ||
| workflow-mockup.png |