Summary
Cross-cutting platform features: in-app notifications, audit logging, feature flags, and a public API with personal access tokens.
Scope
- In-app notification system — database notification channel. Notification center UI (bell icon, dropdown, unread badge, read/unread state). Per-type notification preferences (email and in-app toggles). Optional real-time delivery via Reverb.
- Audit logging — auditable trait for models. Audit log entries (who, what, when, old/new values, IP). Auto-log on create/update/delete for opted-in models. Admin-viewable audit trail. User-viewable activity log scoped to their own actions.
- Feature flags — feature flag model with scoping: global, per-plan, per-team, per-user. Route-level middleware. React hook (
useFeature()) and Blade directive. Admin UI for managing flags.
- API + personal access tokens — token model with scoped permissions resolved through the RBAC system. Create/revoke tokens UI. Bearer token auth middleware. Base API route structure. Rate limiting. API versioning.
Acceptance criteria
- Users receive in-app notifications and can manage per-type preferences
- Auditable models automatically log changes; admin and user views render the audit trail
- Feature flags can be toggled at all four scopes; gating works in routes, React, and Blade
- Users can create personal access tokens with scoped permissions, use them for API auth, and revoke them
- API routes enforce rate limits and versioning consistently
Summary
Cross-cutting platform features: in-app notifications, audit logging, feature flags, and a public API with personal access tokens.
Scope
useFeature()) and Blade directive. Admin UI for managing flags.Acceptance criteria