A platform bridging farmers and consumers for fresh agricultural products. Built with modern web technologies for scalability and security.
iKrishak Demo: https://ikrishak.vercel.app
iKrishak Admin Demo: https://ikrishak-admin.vercel.app/login
Team Members
- 8ad40n (Team Leader)
- nadim45448
- codeesh
Mentor
- Framework: Next.js
- Styling: Tailwind CSS
- Component Library: ShadCN/ui
- Framework: Express.js
- Database: MongoDB (Atlas)
- ORM: Mongoose
- Authentication: JWT, Google OAuth
- Payments: Stripe API
- Email: Nodemailer
To run the iKrishak project locally, follow these steps for each part of the application: the backend (/server), the admin dashboard (/admin-dashboard), and the client frontend (/client).
git clone https://github.com/Learnathon-By-Geeky-Solutions/syntaxerror.gitcd syntaxerrorThe backend is built using Express.js and connected to MongoDB.
cd servernpm installCreate a .env file in the /server directory with the following variables:
PORT=
DB_URI=
BYCRYPT_SALT=
JWT_SECRET=
EMAIL_ID=
EMAIL_PASSWORD=
EMAIL_HOST=
EMAIL_PORT=
EMAIL_SECURE=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
FRONTEND_URL=
BACKEND_URL=npm run start:devThis is the consumer-facing frontend, built with Next.js, TailwindCSS, and ShadCN UI.
cd clientnpm installCreate a .env file in the /client directory with the following variables:
NEXT_PUBLIC_BASE_URL=
NEXTAUTH_SECRET=
GOOGLE_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_PASSWORD=
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=npm run devThe admin panel is built using Next.js, TailwindCSS, and ShadCN UI.
cd admin-dashboardnpm installCreate a .env file in the /admin-dashboard directory with the following variables:
NEXT_PUBLIC_BASE_URL=
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=npm run devJWT-based authentication has been implemented, allowing only users with the 'admin' role to log in.

The admin dashboard provides a comprehensive summary including total revenue, total orders, total active users, and stock status. It also features visual representations such as sales overview charts, category-wise performance analytics, and recent activity insights.

The admin has the ability to manage products by viewing all available items. They can edit, add, and delete products, as well as filter by categories. Additionally, a real-time search functionality is provided for quick product lookup. Pagination is implemented to efficiently handle product listings when the total exceeds 10 items.

The admin has the ability to manage users by viewing all available users. They can edit, add, and delete users, as well as filter by roles. Additionally, a real-time search functionality is provided for quick user lookup. Pagination is implemented to efficiently handle user listings when the total exceeds 10 items.

The admin has the ability to manage categories by viewing all available items. They can edit, add, and delete categories, as well as filter by categories. Additionally, a real-time search functionality is provided for quick category lookup. Pagination is implemented to efficiently handle category listings when the total exceeds 10 items.

The admin can view all orders and filter them based on their status. A real-time search feature is available to quickly locate orders by their order ID. The admin can also access detailed order information and mark orders as "Completed." Pagination is implemented to efficiently manage large order lists.

- Frontend: Vercel
- Admin Dashboard: Vercel
- Backend API: Vercel
- Database: MongoDB Atlas
