AgriConnect is a Full Stack Web Application designed to help farmers get support for farming-related problems. Farmers can post their issues, get solutions from other farmers or experts, and access useful agricultural information.
This platform aims to digitally connect farmers, share knowledge, and solve real-world agricultural problems.
- User Signup
- User Login
- Password validation
- Protected routes
- LocalStorage based authentication
Farmers can share their farming problems such as:
- Crop diseases
- Soil issues
- Irrigation problems
- Pest attacks
Users can:
- Create posts
- Read posts
- Update posts
- Delete posts
- Search problems by crop name or title
- Filter by problem category
- Sort by latest posts
Large datasets are handled with pagination using:
- MongoDB
limit - MongoDB
skip
- Light Mode
- Dark Mode
- Theme preference saved in LocalStorage
Search input uses debouncing to reduce unnecessary API calls.
Built using Tailwind CSS to support:
- Desktop
- Tablet
- Mobile devices
- Backend API error responses
- Frontend error messages
- Tryβcatch blocks for API requests
- React.js
- Tailwind CSS
- React Router
- Context API
- Node.js
- Express.js
- MongoDB
useStateβ Manage component stateuseEffectβ Handle API callsuseRefβ DOM access and search focususeContextβ Global state management
client/
β
βββ src/
β βββ components
β βββ pages
β βββ context
β βββ hooks
β βββ services
β βββ utils
β βββ App.jsx
server/
β
βββ controllers
βββ models
βββ routes
βββ middleware
βββ config
βββ server.js
{
name: String,
email: String,
password: String,
location: String,
createdAt: Date
}
{
title: String,
description: String,
cropType: String,
image: String,
createdBy: ObjectId,
createdAt: Date
}
{
solutionText: String,
problemId: ObjectId,
postedBy: ObjectId,
createdAt: Date
}
POST /api/auth/signup
POST /api/auth/login
GET /api/problems
GET /api/problems/:id
POST /api/problems
PUT /api/problems/:id
DELETE /api/problems/:id
POST /api/solutions
GET /api/solutions/:problemId
git clone https://github.com/yourusername/agriconnect.git
cd server
npm install
cd client
npm install
npm start
npm run dev
- Weather API integration
- Mandi price updates
- Image upload for crop diseases
- Farmer community discussion forum
- Expert consultation system
Developed by Drup Patel
Full Stack Hackathon Project π