🌾 Kasuwa — Open Source eFarm Marketplace Kasuwa is an open-source eFarm web platform designed to empower farm owners to sell their agricultural products directly to farmers, vendors, and everyday users, fostering fresh produce accessibility and supporting local agriculture through digital innovation. Built with Next.js, Kasuwa leverages modern web technologies to create a seamless and scalable marketplace.
🚀 Features
🧑🌾 Farm Owner Dashboard: List, manage, and update agricultural products with ease. 🛒 Product Marketplace: Browse and purchase fresh produce directly from farmers. 🔍 Search & Filtering: Advanced product search with category and location-based filtering. 🧾 Secure Checkout: Integrated payment and order processing system (in development). 🌍 Local & National Sales: Support for regional and nationwide product distribution. 📱 Responsive Design: Optimized for mobile, tablet, and desktop devices.
🛠️ Tech Stack
Framework: Next.js 14 (App Router) Styling: Tailwind CSS for rapid, responsive design Backend: Next.js API Routes for server-side logic Database: PostgreSQL (planned, with Prisma ORM integration) Authentication: NextAuth.js (planned for secure user management) Deployment: Vercel for seamless hosting Other Tools: ESLint, Prettier, Husky (for code quality)
🧑💻 Getting Started Follow these steps to set up and run Kasuwa locally: Prerequisites
Node.js (v18 or higher) npm or Yarn Git
Installation
Clone the Repository git clone https://github.com/your-username/kasuwa.git cd kasuwa
Install Dependencies npm install
yarn install
Set Up Environment VariablesCreate a .env.local file in the root directory and add the following: NEXT_PUBLIC_API_URL=http://localhost:3000/api
Run the Development Server npm run dev
yarn dev
Open the ApplicationNavigate to http://localhost:3000 in your browser to explore Kasuwa.
📁 Project Structure kasuwa/ ├── app/ # Next.js App Router (pages, API routes) ├── components/ # Reusable React components ├── lib/ # Utility functions and helpers ├── public/ # Static assets (images, fonts, etc.) ├── styles/ # Tailwind CSS and global styles ├── .env.local # Environment variables (not tracked) ├── prisma/ # Prisma schema (planned for database) ├── README.md # Project documentation └── package.json # Project dependencies and scripts
⚙️ Database Setup (Coming Soon) Kasuwa will use PostgreSQL with Prisma ORM for database management. To set up the database:
Install PostgreSQL locally or use a cloud provider (e.g., Supabase, Neon). Update the .env.local file with your DATABASE_URL. Run migrations (once implemented):npx prisma migrate dev
Stay tuned for detailed database setup instructions in future updates.
🤝 Contributing We welcome contributions from the community! To contribute:
Fork the RepositoryFork the project on GitHub and clone your fork locally. git clone https://github.com/your-username/kasuwa.git
Create a Feature Branch git checkout -b feature/your-feature-name
Commit ChangesFollow conventional commit messages (e.g., feat: add product filtering). git commit -m "feat: add product filtering"
Push and Open a Pull RequestPush your branch to your fork and open a PR against the main repository.
Contributor Guidelines
Follow the Code of Conduct (to be added). Ensure code is formatted with Prettier and linted with ESLint. Write clear, concise commit messages. Test your changes locally before submitting a PR.
📚 Learn More
Next.js Documentation Tailwind CSS Documentation Prisma Documentation Vercel Deployment Guide
🌐 Community Join our Discord community to connect with other contributors, ask questions, and stay updated on Kasuwa's development.
📄 License Kasuwa is open source and licensed under the MIT License.
👨🌾 Built with ❤️ for Farmers By the Kasuwa team. Let's grow the future of agriculture together!