5 Commits

Author SHA1 Message Date
Ryan Lancaster
8c2781ea81 feat: CSV import preview/apply endpoints and helpers
All checks were successful
continuous-integration/drone/push Build is passing
2026-03-18 18:49:20 -04:00
Ryan Lancaster
4a7b3061ed Harden MVP runtime and fix packaged desktop white screen 2026-03-18 13:05:14 -04:00
Ryan Lancaster
9302a88aea feat: feature log CRUD endpoints, timestamps, and project list sorting
- 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
2026-03-17 15:23:43 -04:00
Ryan Lancaster
ca46302aff Implement wiring hardening, runtime API config, smoke tests, and build scripts 2026-03-17 12:58:43 -04:00
Ryan Lancaster
a3949c32ee Initial commit — Electron + React frontend, Express/Docker backend, members & project management 2026-03-15 13:40:01 -07:00