Crop Connect is a simple marketplace where farmers list crops with images and details, and buyers easily browse and connect. Built using Node.js, Express, MongoDB, HBS, and Cloudinary. Project is Live on https://crop-connect-jo17.onrender.com/
Crop Connect bridges the gap between sellers and buyers by offering a clean interface to list crops with detailed information. Sellers can upload images, specify pricing, add descriptions, and mark whether pricing is negotiable.
~Backend API development ~Image upload with Cloudinary ~Template-based rendering ~Database modeling & CRUD operations ~Session handling ~Clean UI using CSS + HBS
- Register & login
- Add crop details using a structured Sell Form
- Upload crop images stored securely on Cloudinary
- Mark negotiation availability and crop condition
- View personal listings in the Profile section
- Delete crop posts anytime
- Recent posts appear in a homepage slider
- View all crops available for sale
- Search crops by name, price, or location
- See detailed crop information on a dedicated page
- Contact seller through phone or email
- Secure authentication with express-session
- MongoDB + Mongoose schema modeling
- Cloudinary integration for image storage
- Fully responsive UI using HBS templates and CSS
- Dynamic slider showing recent crop posts
- Contact form for user queries
- Services section describing platform features
| Layer | Technology |
|---|---|
| Frontend | HBS, CSS, JavaScript |
| Backend | Node.js, Express.js |
| Database | MongoDB + Mongoose |
| Image Upload | Cloudinary |
| Authentication | express-session |
| Version Control | Git + GitHub |
{ userId, owner_name, owner_contact, email, country, state, location, crop_name, crop_variety, quantity, price, condition, harvest_date, image, description, negotiable }
- User fills Sell Form
- Image uploaded via multipart/form-data
- Cloudinary middleware processes file
- Cloudinary returns secure image URL
- URL saved in MongoDB alongside crop info
app.use(session({ secret: process.env.SESSION_SECRET, resave: false, saveUninitialized: true }));
- User enters personal + crop details
- Image sent to Cloudinary
- Backend validates fields
- Data saved into MongoDB
- Listing appears on “My Listings” and homepage slider
- Name
- Contact
- Country / State / City
- Crop Type & Variety
- Quantity
- Price per kg
- Condition
- Harvest Date
- Description
- Slider Section: Displays latest crop posts on the homepage
- Contact Form: Allows users to submit queries
- Services Section: Explains key features offered by the platform
- Profile Section: Displays all posts uploaded by the logged-in seller, with delete controls
- Buyer–Seller chat system
- Admin dashboard
- Rating System (help to track trustworthy Sellers)
- AI-based price prediction
- Crop quality prediction model
- Mobile App (Flutter / React Native)