Logo Lanfrica

abdullahomariko-arch/reharvest-egypt

Domaine:

agriculture

Type de record:

software
Créateur:
abd
Hôte:
potentially An Aggri Project # ReHarvest A private B2B marketplace for Egyptian post-harvest produce — Grade B and surplus matched to kitchens, sauce makers and processors that buy on usability rather than appearance. This repository is the control system underneath that marketplace. It exists because the hard part is not matching supply to demand — a WhatsApp group already does that. The hard part is being the party whose weights, grades, holds and payments both sides trust enough to stop arguing about. ## Run it ```bash pnpm install npm test # 149 unit tests across 42 suites pnpm typecheck ``` The test suite needs no database, no network and no fixtures. That is the point: every rule lives in `packages/core` as pure functions, so a control can be proven in milliseconds and the mobile app and the server run the identical code. ## Where to look first | I want to understand… | Read | |---|---| | The whole design and all 54 controls | `docs/ARCHITECTURE.md` | | Why money is never a float | `packages/core/src/money.ts` | | Why "yes probably" can't buy tomatoes | `packages/core/src/state-machines.ts` | | How a refusal is shaped | `packages/core/src/guard.ts` | | What the rules actually prevent | `packages/core/src/controls.test.ts` | | How money clears | `packages/payments/src/reconciliation.ts` | | The four gates a webhook must survive | `apps/api/src/service/payment-service.ts` | | What the app feels like | `apps/mobile/src/screens/WeighAndAcceptScreen.tsx` | | How a buyer actually pays | `apps/mobile/src/screens/CheckoutScreen.tsx` | | The design system | `apps/mobile/src/ui/theme.ts` + `ui/components.tsx` | | The one rule with no override | `apps/mobile/src/screens/QualityCheckScreen.tsx` | | Role-based navigation | `apps/mobile/src/navigation/AppShell.tsx` | | Every user-facing string, ar + en | `apps/mobile/src/i18n/index.tsx` | ## Layout ``` apps/ api/ Hono service — payment orchestration, webhooks, idempotency mobile/ Expo · React Native · Arabic-first RTL supp …