Rigs Market
A marketplace for renting outdoor and sports gear: listings, a map, booking, chat, a deposit via YooKassa, a mobile app, and a business dashboard. The page shows the whole rental path, not just the storefront.
01 / product scope
Rigs runs on one chain: search → booking → payment → handover → return
02 / stack & tags
A TypeScript monorepo: one type flows through API, web, and mobile
Rigs works both ways: the renter searches for gear on a map, the host gets the booking, the payment layer holds the deposit, and chat settles disputed details before handover.
The code shows the link between `@rigs/types`, API, web, and mobile. If the booking or payment model changes, that should be visible across all parts — not surface as an error after payment already happened.
03 / release log
Rigs releases close out payments, security, and mobile compatibility
v0.3.1
Payment Webhook & Deposit-Hold Hotfix
A short release: fixed two scenarios where a user could lose money or get stuck in the wrong status.
- The YooKassa webhook is no longer rejected due to an incorrect `Authorization: Bearer` comparison.
- A successful payment now moves the booking to `paid/completed` status instead of leaving it hanging.
- Auto-cancelling an expired booking now calls `cancelDepositHold()` for every record.
v0.3.0
Security Hardening & Code Quality
A release following an API audit: security, logging, Socket.io typing, and proper environment setup.
- Added `helmet`; Socket.io CORS moved from `origin: '*'` to a whitelist from `WEB_URL`.
- `HttpLoggerMiddleware` now logs method, path, status, and response time.
- Socket.io got typed events: `ServerToClientEvents` and `ClientToServerEvents`.
v0.2.0
Expo SDK 54 Migration
A full upgrade of the mobile app from Expo SDK 51 to SDK 54. The release separately logs critical, medium, and minor fixes.
- `expo-router` upgraded to v6, routes rewritten as typed objects.
- `expo-notifications` upgraded to v0.32: banner/list instead of the deprecated alert API.
- `npx tsc --noEmit` shows 0 errors after the migration.
04 / file map
Key Files
05 / next projects