Online Vegetable and Fruit Marketplace (VegFru)
Welcome to the Online Vegetable and Fruit Marketplace project! This platform is designed to connect customers with nearby vendors selling fresh fruits and vegetables. With an easy-to-use interface, customers can search for vendors on a map, view product listings, and place orders securely through a payment gateway.
Click here to view the flow of VegFru
Note: Fully Mobile Responsive
App Features:
Customer Features | Vendor Features - Create and Manage Your Store |
---|---|
1. Search for Nearby Vendors on a Map: - Easily locate nearby vendors using an interactive map interface. | 1. Store Creation: Vendors can create and customize their online store within the platform. They can set up the store with branding, logos, and store information. |
2. View Vendor Profiles and Product Listings on the Map: - Access detailed vendor profiles and browse product listings directly within the map interface. | 2. Inventory Management: Vendors access a robust dashboard for efficient inventory management. They can add, edit, or remove product listings, update quantities, and set pricing. |
3. Place Orders and Pay Securely Through Stripe: - Seamlessly place orders for desired products from vendors using the robust and secure Stripe payment gateway. | 3. Order Processing: Vendors can efficiently manage orders, review details, and prepare deliveries directly from the dashboard. |
4. Track Orders in Real-time: - Track order status, details, and payments in real-time from confirmation to delivery. | 4. Insights: Vendors gain access to daily income, customer totals, and order data, providing valuable business insights that aid in understanding store performance. |
5. Email Confirmation After Successful Order: - Receive an email confirmation immediately after successfully placing an order. |
Technologies Used
This project is built using modern web technologies, including:
Technology | Choices |
---|---|
Frontend | ReactJS/NextJS |
UI Framework | ChakraUI/Tailwind |
Backend | NodeJs/ExpressJS |
Database | MongoDB |
Containerization | Docker |
Location Services | Mapbox API (Location-based searches, map integration, Direction API, Distance API) |
Payment Gateway | Stripe Checkout |
Caching | Redis (To reduce DB requests, optimize performance, and reduce response time) |
Rate Limiting | Utilized to control request rates, implemented as middleware in ExpressJS to prevent excessive requests and ensure server stability |
Webhooks | Used for saving payment details in the database |
Email Notifications | Sent using Gmail SMTP server and Nodemailer |
Access Token & Refresh Token | Implemented with Axios interceptors for improved user experience |
Client Side Screenshots
Vendor Side Screenshots
Contact
If you have any questions or feedback, please contact me at [email protected], visit my website : click here We'd love to hear from you!