- Add dedicated REST endpoints for feature CRUD (GET/POST/PUT/DELETE /api/projects/:id/features) - Add normalizeFeatureEntry() with updatedAt, updatedBy, shippedAt lifecycle - Auto-set shippedAt when status transitions to 'shipped' - Frontend api.js: getFeatures, createFeature, updateFeature, deleteFeature methods - App.jsx: optimistic CRUD handlers using dedicated feature endpoints - Project list: feature-status filter dropdown + 5-way sort (feature activity, feature status, project status, due date, name) - Project cards: feature log preview (latest entry + in-flight count) - FeaturesTab: filter by status, sort by updatedAt desc - FeatureRow: show updatedAt, updatedBy, shippedAt metadata; updatedBy edit field
24 KiB
24 KiB