Giter VIP home page Giter VIP logo

edenfood's Introduction

EventHub logo

EdenFood

CSS3 HTML5 JavaScript MongoDB Express.js React NodeJS React Router Git

Table of Contents

Project Details

EdenFood is a mobile friendly e-commerce platform designed to connect fresh food farm grocers and wet market sellers directly with consumers. The primary goal of this project is to provide a seamless online marketplace for selling and purchasing fresh produce, meats, seafood, and other locally-sourced products.

Made for NUS' IS3106 - Enterprise Systems Interface Design and Development.


Features

  • User Accounts: Users can create accounts to both purchase and list products on the platform, acting as buyers or sellers, or both simultaneously.

  • Product Listings: Sellers can easily list their fresh produce, meats, seafood, and other products, providing detailed descriptions, pricing, and availability information.

  • Inventory Management: The platform includes an intuitive inventory management system that allows sellers to track stock levels, update product availability, and manage orders efficiently.

  • Search and Filters: Users can search for specific products or apply filters based on various criteria, such as product category, seller location, or dietary preferences (e.g., organic, gluten-free, etc.).

  • Order Tracking: Both sellers and customers can track the status of orders, from placement to delivery or pickup.

  • Secure Payments: EdenFood integrates with popular payment gateways like Paypal to ensure secure and reliable transactions for customers. Recurrent monthly payment scripts are also set up to ensure sellers are paid for their items at regular and predictable intervals.

  • Delivery and Pickup Options: Customers can choose between numerous convenient delivery options.

Tech Stack and API Dependencies

Tech Stack

This project utilizes the MERN stack, which stands for MongoDB, Express.js, React.js, and Node.js. Below is a brief overview of each technology:

  • MongoDB: NoSQL database used for storing and managing data in a flexible, schema-less format. It is employed in this project to persistently store user data, application configurations, and other relevant information.

  • Express.js: A minimalist web framework for Node.js that simplifies the process of building robust web applications and APIs. In this project, Express.js is used to create the backend server, handle HTTP requests, and define the application's routing logic.

  • React.js: A JavaScript library for building user interfaces, particularly single-page applications (SPAs). The frontend of this app is built using React.js to deliver an interactive and responsive user experience.

  • Node.js: JavaScript runtime environment that allows developers to run JavaScript code on the server-side. In this project, Node.js is used to run the backend server, interact with the database, and handle business logic.

API Dependencies

EdenFood leverages several third-party API services to enhance its functionality and provide a seamless user experience. These dependencies include:

  • Mailgun: Mailgun is used for email services, primarily for sending order confirmations, delivery notifications, and other transactional emails to users, ensuring effective communication and reporting.

  • Cloudinary: Cloudinary is a cloud-based image and video management platform that EdenFood utilizes for storing and optimizing product images, seller profile pictures, and other visual assets, ensuring fast and reliable delivery of media content.

  • PayPal: EdenFood integrates with PayPal's payment gateway to facilitate secure online transactions, allowing users to conveniently purchase products from various sellers using their PayPal accounts or credit cards.

  • Google Maps Platform: EdenFood leverages the Google Maps Platform to display pickup locations for sellers, enabling users to easily locate and navigate to their preferred pickup points for self-collection orders.

Installation

  1. Ensure that you have Node.js installed, and that you have a MongoDB Atlas, Cloudinary, Google Console, Mailgun, and Paypal Developer accounts set up.
  2. Clone the repository to your local machine.
git clone https://github.com/tristantanjh/EdenFood.git
  1. Create a .env file in both the frontend and backend folders.
  • In the backend .env file, specify your port for hosting the backend server and your mongoDB Atlas database url like this:
PORT=<YOUR_PORT>
MONGO_URI=<YOUR_DATABASE_URI>
ENCRYPTION_KEY=<YOUR_ENCRYPTION_KEY> 
MAILGUN_API_KEY=<YOUR_API_KEY>
MAILGUN_DOMAIN=<YOUR_DOMAIN>
  • In the frontend .env file, specify your Cloudinary cloud name and upload preset like this:
VITE_GOOGLE_MAPS_API_KEY=<YOUR_API_KEY>
VITE_CLOUDINARY_CLOUD_NAME=<YOUR_CLOUD_NAME>
VITE_CLOUDINARY_UPLOAD_PRESET=<YOUR_UPLOAD_PRESET>
VITE_PAYPAL_CLIENT_ID=<YOUR_CLIENT_ID>

You can also follow the example .env file given in both frontend and backend folders.

  1. cd into both frontend and backend folders and run npm i on both.
  2. After these steps, do npm run dev in both the frontend and backend folders to start the servers.
  3. Visit http://localhost:5173 to explore the application!

License

This project is licensed under the MIT License - see the LICENSE file for details.

edenfood's People

Contributors

jon3r4de avatar joshuagohez avatar ryantangmj avatar tristantanjh avatar umpodumpo avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

ryantangmj

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.