Checkout fixes
- Fixed shared MongoDB connection handling that could cause timeouts.
- Added inventory transaction retries for write conflicts, with a maximum of three attempts.
Featured Apps backend
- Created database storage for cards and action history.
- Added APIs for listing, creating, editing, deleting, restoring, importing, and viewing history.
- Added a public API for visible cards.
- Added validation, platform permissions, and protection against concurrent edits.
Featured Apps admin screen
- Added the sidebar item and /app/featured-apps route.
- Added create/edit forms, search, filters, previews, delete/restore, and history.
- Made names, descriptions, icons/logos, visibility, order, and destination routes editable.
Public website integration
- Connected Featured Apps and the product listing to database content.
- “View details” opens the saved route, such as /products/pos.
- Kept destination detail pages static.
Image uploads
- Reused the existing /api/upload endpoint.
- Saved returned S3 URLs in cards and history.
- Removed the separate MongoDB image model and image-serving route.
Usability improvements
- Display order starts at 1.
- New cards default to the next order.
- Edit/Create scrolls to the form and focuses App name.