Logo Lanfrica

samduke9817/HarvestConnect

Domaine:

agriculturesocioeconomic

Type de record:

software
Créateur:
sam
Hôte:
Kenya Harvest Hub # Kenya Harvest Hub ## Overview Kenya Harvest Hub is a B2C SaaS platform that connects Kenyan farmers directly with consumers, promoting fair prices, reducing intermediaries, and increasing market access. The platform enables farmers to list their products and manage their farming business while providing consumers with access to fresh, local produce through an intuitive marketplace interface. ## User Preferences Preferred communication style: Simple, everyday language. ## System Architecture ### Frontend Architecture The frontend is built using React with TypeScript, utilizing modern React patterns and hooks. The application uses Wouter for client-side routing, providing a lightweight alternative to React Router. State management is handled through React Query (@tanstack/react-query) for server state and React's built-in state management for local UI state. **UI Framework**: The application uses shadcn/ui components built on top of Radix UI primitives, providing accessible and customizable components. Styling is implemented with Tailwind CSS using a custom design system with CSS variables for theming. **Build System**: Vite is used as the build tool and development server, providing fast hot module replacement and optimized builds. The configuration includes support for TypeScript, React, and development-specific plugins for the Replit environment. ### Backend Architecture The backend follows an Express.js architecture with TypeScript, implementing a RESTful API pattern. The server is structured with modular route handling and middleware for cross-cutting concerns like authentication and logging. **API Design**: Routes are organized by domain (auth, products, farmers, cart, orders, etc.) with consistent REST conventions. The API includes comprehensive error handling and request/response logging middleware. **Authentication**: The system uses Replit's OpenID Connect (OIDC) authentication with Passport.js strategy. Session management is handled through exp …