Roadmap
Chukfi CMS — Feature Roadmap
Section titled “Chukfi CMS — Feature Roadmap”Features discussed and prioritized for future implementation.
High Priority
Section titled “High Priority”Infrastructure & Performance
Section titled “Infrastructure & Performance”- S3 + CloudFront for Admin UI — serve the static admin UI (
admin-ui/dist/) from S3 via CloudFront instead of through the Axum binary on ECS Fargate. Single biggest latency + cost win: edge-cached static assets, API-only Fargate load. - RDS Proxy / Connection pooling — add AWS RDS Proxy or tune SQLx connection pool limits aggressively. ECS Fargate tasks scale horizontally and can exhaust Postgres connection limits without pooling.
- AWS X-Ray / tracing — integrate distributed tracing to profile database queries and middleware overhead under production load.
- CloudFront cache-control for media — harden
Cache-Controlheaders on S3 media objects served via CloudFront to maximize edge cache hit ratios.
Medium Priority
Section titled “Medium Priority”Environment / Config management
Section titled “Environment / Config management”- A way to define environment-specific settings (staging vs prod API URLs, feature flags) without hardcoding.
- Fits naturally as a Settings sub-section and pairs well with your draft preview work.
Lower Priority
Section titled “Lower Priority”Event Registration System (Cvent-like)
Section titled “Event Registration System (Cvent-like)”Full attendee management for events — dependent on public user authentication and payment processing being established first.
- Public-facing registration flow with customizable per-event fields (built on Form Builder foundation)
- Attendee authentication — public user accounts separate from admin users (requires its own auth system)
- Payment processing integration (Stripe or similar) for paid/ticketed events with fee tiers and promo codes
- Registrations inbox per event: attendee list, check-in status, CSV export
- Automated confirmation and reminder emails via the newsletter plugin’s email providers
- Capacity limits and waitlist management
Approval / Editorial Workflow
Section titled “Approval / Editorial Workflow”A review queue so authors can submit content for editorial sign-off before it goes live.
- New post status:
in_review(sits betweendraftandpublished) - Authors can only move records to
in_review; editors/admins can approve (→published) or reject (→draftwith a note) - In-app notification badge for editors when reviews are pending
- Rejection notes stored in a
review_notescolumn
Analytics Dashboard
Section titled “Analytics Dashboard”Basic traffic and engagement metrics surfaced inside the admin without a third-party dashboard.
- Use a lightweight API endpoint (
GET /api/track?path=...) that logs page views to RDS PostgreSQL (JSONB) with a CloudWatch dashboard for metrics - Dashboard page: top content by views (7d/30d), subscriber growth over time, form submission volume
- No PII collected — only path + date + rough geo (country)
Localization / i18n
Section titled “Localization / i18n”Translate collection records into multiple languages while keeping them linked as variants of the same content.
- New
localecolumn on supported collections; composite unique key(slug, locale) - Language picker in the record editor to switch between or create locale variants
- API:
GET /api/posts?locale=frreturns locale-specific records, falls back to default locale - Locale list configured in Settings (e.g.
en,fr,de)
Navigation Builder
Section titled “Navigation Builder”Drag-and-drop tree of links (internal pages or external URLs) outputting a navigation JSON structure for the frontend to consume.
- Stored in the Global Settings singleton or a dedicated
navigationtable - Frontend: tree editor component with add/remove/reorder/nest
Nested / Repeatable Fields
Section titled “Nested / Repeatable Fields”Array-type field where each item is a group of sub-fields (e.g. a “sections” array on a page, each section having heading + body + image).
- New field type:
repeatablewithsubfields: CmsField[] - Stored as JSONB in PostgreSQL
- Frontend: add/remove/reorder rows in the form
Completed
Section titled “Completed”- Mobile Friendly Admin Dashboard
- Admin Dashboard Homepage
- Tags collection with media tagging and filtering
- Media Library (upload, delete, tag, filter, search)
- Dark mode with system preference detection
- Custom Collections (generic CRUD with schema-driven UI)
- Status workflow (draft / published / scheduled / archived)
- Scheduled publishing (cron auto-publish)
- Content revisions (snapshot on save, restore)
- Trash can (soft delete, 30-day retention, restore, permanent delete)
- Media filename editing
- Command palette (
Cmd+K/Ctrl+K) - Global Settings singleton
- Webhooks
- Newsletter
- API Key Management
- Import / Export
- Activity Log / Audit Trail
- Image Transformations
- Settings Hub
- Folder Organization for Media
- Email Newsletter Templates
- Multi-User / Role-Based Access Control (RBAC)
- Full-Text Search
- Custom Collections (dynamic schema)
- Public Landing Page
- Form Builder
- Tags Option
- Per-Record SEO Fields
- Media Library Folders Home Button
- Form Field Validation
- Form Submissions Page
- Unified Submissions Routing
- Revised Dashboard
- Bulk Actions
- Content Calendar
- Newsletter Campaigns on Content Calendar
- Events Collection
- Share Posts to Facebook
- Content relationships / References
- Public API / Headless delivery layer
- Redirect Manager
- Page Builder
- Embed / oEmbed Support
- Two-Factor Authentication