How singhgauravlinux-coder/bakery-android works
Crumb & Ember is a bakery-commerce platform with an Android storefront client and a gateway-fronted set of domain services. The principal customer journey is browse products, manage a cart, submit an order, pay, and review order history; the README also documents promotions, inventory, reviews, search, recommendations, baking schedules, loyalty, consent, localization, currency, and notifications. The tree and excerpts establish the client API surface, gateway proxying, order payment verification, invoice order lookup, and queued notification dispatch; other service links are limited to documented gateway routing rather than inferred internal calls.
Main entry points: api-gateway/server.js API gateway · order-service/server.js Order lifecycle · MainActivity.kt Android app · invoice-service/server.js Invoicing
Components 29
Mobile storefront
- Android app
android-app/app/src/main/java/com/crumbandember/app/MainActivity.kt - Screen navigation
android-app/app/src/main/java/com/crumbandember/app/ui/navigation/NavGraph.kt - Gateway API client
android-app/app/src/main/java/com/crumbandember/app/data/api/ApiService.kt
Commerce services
- Authentication
services/auth-service/server.js - Product catalog
services/product-catalog-service/server.js - Cart
services/cart-service/server.js - Inventory
services/inventory-service/server.js - Pricing
services/pricing-service/server.js - Promotions
services/promotion-service/server.js
Order and fulfilment
- Order lifecycle
services/order-service/server.js - Payments
services/payment-service/server.js - Delivery
services/delivery-service/server.js - Invoicing
services/invoice-service/server.js - Notification API
services/notification-service/server.js - Notification queue
services/notification-service/lib/queue.js - Notification worker
services/notification-service/worker.js
Storefront capabilities
- Product reviews
services/review-service/server.js - Search
services/search-service/server.js - Recommendations
services/recommendation-service/server.js - Bake schedule
services/baking-schedule-service/server.js - Loyalty
services/loyalty-service/server.js - User consent
services/consent-service/server.js
Platform services
- API gateway
services/api-gateway/server.js - Analytics
services/analytics-service/server.js - Currency
services/currency-service/server.js - Localization
services/language-service/server.js - Redis carts
- PostgreSQL
Other components
- Shopper
Connections 33
- Shopper → Android app: uses
- Android app → Screen navigation: opens screens
- Android app → Gateway API client: requests data
- Gateway API client → API gateway: calls gateway
- API gateway → Authentication: proxies auth
- API gateway → Product catalog: proxies catalog
- API gateway → Cart: proxies cart
- API gateway → Inventory: proxies inventory
- API gateway → Pricing: proxies pricing
- API gateway → Promotions: proxies promotions
- API gateway → Order lifecycle: proxies orders
- API gateway → Payments: proxies payments
- API gateway → Delivery: proxies delivery
- API gateway → Invoicing: proxies invoices
- API gateway → Notification API: proxies notifications
- API gateway → Product reviews: proxies reviews
- API gateway → Search: proxies search
- API gateway → Recommendations: proxies recommendations
- API gateway → Bake schedule: proxies schedule
- API gateway → Loyalty: proxies loyalty
- API gateway → User consent: proxies consent
- API gateway → Analytics: proxies analytics
- API gateway → Currency: proxies currency
- API gateway → Localization: proxies language
- Order lifecycle → Payments: verifies payment
- Invoicing → Order lifecycle: fetches order
- Notification API → Notification queue: enqueues jobs
- Notification worker → Notification queue: claims jobs
- Cart → Redis carts: stores carts
- Product catalog → PostgreSQL: reads products
- Order lifecycle → PostgreSQL: stores orders
- Payments → PostgreSQL: stores payments
- Invoicing → PostgreSQL: stores invoices