DECA is a "discovery-first" e-commerce app that presents users with exactly 10 curated items per day. Users swipe right to purchase/order and left to dismiss. The backend leverages FastAPI for high-performance API routing and integrates with the Universal Commerce Protocol (UCP) to standardize order placement.
| Layer | Technology | Role |
|---|---|---|
| Frontend | React Native (Expo) | Cross-platform mobile UI |
| Gesture Engine | react-native-deck-swiper |
Tinder-style card physics |
| State Management | Zustand / Context API |
Lightweight global state |
| Backend | FastAPI (Python 3.10+) | Async web framework |
| Validation | Pydantic |
UCP Schema enforcement |
| Async Client | httpx |
Non-blocking API calls |
Mock Services DECA uses DummyJSON as the primary source for the 10 daily items and internal UCP Mock Schema validation to simulate the /init and /confirm handshakes.
The application follows a specific lifecycle to ensure daily freshness and protocol-compliant ordering:
Request
On initial launch, the mobile app hits the /daily-curation endpoint.
Fetch & Transform The backend fetches 10 items from the DummyJSON API. These items are mapped into UCP Catalog Objects and cached for the day.
Interaction The user views the card stack. A swipe left discards the item locally, while a swipe right triggers the purchase intent.
Order Execution
The app calls /place-order. The internal Checkout Agent maps the product data to a UCP confirm request, logs a mock transaction, and returns a success response to the UI.