Changelog
All notable changes to Complaint Management System are documented here.
[1.0.1] — 2026-09-08
Added
- Portfolio documentation pipeline: Demo Mode, screenshot set, client guides, and Cursor changelog rules.
- Clickable demo account cards on the Demo Mode login screen (Admin, Editor, Viewer).
- Reset demo data control on the Demo Mode Profile page.
- Documentation
version.jsonand screenshot index for portfolio publishing.
Changed
- Demo Mode seed data uses a professional Northstar Apparel sample set with filled complaint and workflow tables.
- Root README updated with a product overview and documentation screenshots.
Fixed
- Demo Mode Profile copy is professional English (no mixed-language labels).
- Demo Mode is excluded from the main product production build (
tsconfig, ESLint, Vercel ignore).
[1.0.0] — 2026-07-25
App version in the sidebar
- Added
APP_VERSIONandAPP_VERSION_DATEinlib/appConfig.ts(mirrored indemo-mode/lib/appConfig.ts). - Sidebar footer (expanded + collapsed) shows
v1.0.0. - Keep
package.jsonversion aligned withAPP_VERSION. - Guide: APP-VERSION.md
Documentation pack (Complaint-Managment-System-Doc/)
- Full docs folder with one markdown file per page at the root (
01-login.md…08-complaint-type.md), matching portfolio Doc packs. - Each page guide has sub-details: layout regions, fields, tables, modals, permissions, errors, and step-by-step actions.
- Screenshots in
images/(01–21) wired into the matching page guides. - Index: README.md · index.md
- Getting Started, Roles & Permissions, Technical Reference kept alongside page docs.
- Docs site meta:
_meta/navigation.json(version: 1.0.0).
Vercel Cron
- Added
GET /api/cronwithAuthorization: Bearer {CRON_SECRET}check. vercel.jsonschedule:0 10 * * *(daily 10:00 UTC).- Middleware allows
/api/cronwithout a session cookie (route still requires the secret). - Documented
CRON_SECRETin.env.exampleand Getting Started.
Deploy / build fix
- Excluded
demo-mode/from roottsconfig.jsonso production builds no longer type-check Demo Mode imports (@/lib/demoAuth, etc.).
Demo Mode auth stability
- Session restore from
cms_demo_usercookie whenlocalStoragesession is missing. - Stale cookies cleared when the user id is not in the demo registry.
- Unauthenticated shell shows Loading / redirects to Login instead of throwing Not authenticated.
fetchBusinessProfilereturns defaults when there is no session (favicon load on Login).
2026-07-10
Demo Mode (standalone app)
demo-mode/— same UI as production, data in browser localStorage (no Supabase required).- Seed accounts:
demo@demo.com/editor@demo.com/viewer@demo.com(passworddemo123). - Per-user data namespaces; demo registry for users and permissions.
- Vercel-friendly packaging (own
package.json/ root directorydemo-mode). - Docs capture script:
demo-mode/capture-docs.js(npm run capture-docs) for screenshots.
Documentation baseline
- Initial Getting Started, Roles & Permissions, Technical Reference, and pages overview for CMS.
System updates
- General CMS hardening and packaging updates ahead of Demo Mode / docs work.
2026-06-06
Complaints
- Complaints list with search, filters (date / type / priority / status), sticky columns.
- Create / edit modal: auto Complaint ID, images (up to 10, 2MB, PNG/JPG/WEBP).
- Detail modal: details, tracking, note, images, linked resolution workflows.
- Row actions: Message (copy type template), Edit, Workflow, Delete.
- Print route
/complaints/[id]/printwith business branding, Print / Close toolbar.
Dashboard
- Counts By Status, By Priority, By Complaint Type.
- Date-range filter; cards deep-link into filtered Complaints.
- New Complaint shortcut (Edit on Complaints).
Resolution Workflow
- Dedicated page: search, Add / Edit / Delete.
- Types: Full Refund (with amount), Item Exchange, Item Replace, From outlet, Others.
- Priority Override and Status sync back to the linked complaint on save.
- Can also be started from a complaint’s ⋮ Workflow action.
Settings — Profile
- Your details (read-only).
- Change password (min 6 characters).
- Admin Business profile: name + logo (sidebar, favicon, print header).
Settings — Users and Access (Admin)
- Create / edit / delete users.
- Roles: Admin / Editor / Viewer.
- Per-page View / Edit / Delete matrix (Viewer: View only).
Settings — Complaint Type
- Type name + customer message template with
{…}variable chips and preview. - Powers Complaints dropdown and Message copy action.
Auth & shell
- Login with JWT httpOnly cookie (
courier_session, 7 days). - Middleware protects routes; sidebar with collapse, Settings submenu, theme (Dark / Light), Sign out.
- Built on Next.js 14 + Supabase (PostgreSQL) + Tailwind.
Clone / initial CMS
- Project bootstrapped from Courier Dashboard clone and adapted into Complaint Management System.
Earlier (baseline)
Stack
- Next.js App Router, Supabase client + service role for auth/CRUD, Tailwind UI.
Permissions model
- Page keys:
dashboard,complaints,resolution-workflow,settings,settings-users-access,settings-complaint-type. - Guide: 03-Roles-and-Permissions.md
Technical reference
- API routes, schema, storage buckets (
complaint-images,branding-assets). - Guide: 04-Technical-Reference.md