/CS35L-GroceryPlus

Project for CS35L

Primary LanguageJavaScriptMIT LicenseMIT

Grocery+

Target, Trader Joes, Ralphs, Whole foods… In Westwood alone, there are a multitude of grocery shops where you can do your shopping from. But as cash strapped college students, we want to know which grocery store is offering the best price for the items we want to buy. Currently, this would require either physically going down to every super market, or individually checking the website of each grocery store, both of which is inconvenient and wastes a lot of time, especially if you want to buy many items.

Discover Grocery+, your all-in-one shopping companion! Sign up, log in, and start saving on your grocery bill with ease. Search and compare prices for your favorite items across multiple stores, create a personalized favorites list and effortlessly manage your shopping cart. With data from popular retailers like Trader Joe's, Whole Foods, and Target, Grocery+ ensures you always get the best deals. Shopping smarter has never been this convenient.

Overall, our full-stack web application as part of the CS35L project aims to simplify and enhance the grocery shopping experience, helping users save time and money by comparing prices across multiple stores.

Features

Signup/Login + Homepage

image
  • Uploading data from client to backend
  • Display dynamic data
  • Authentication by Supabase

Search Result Page

image
  • Search through server-side data

Detailed Item View

image

Comparing Prices

image

Shopping Cart Page

image
  • Add Items to Cart

Favorites Page

image
  • Add Items to Favorites

Logout Page

image

Project Setup

This guide will walk you through setting up the project on your local machine.

Prerequisites

Before you begin, make sure you have the following installed:

Installation

  1. Clone the repository:

    git clone <repository_url>

    Replace <repository_url> with the actual URL of the Git repository.

  2. Change into the project directory:

    cd CS35L
  3. Put the .env file inside the client and server directories with the relevant keys.

  4. Set up the client:

    cd client
    npm ci
    npm start

    This will install the client-side dependencies and start the client application.

  5. Set up the server (in a separate terminal window):

    cd  server
    npm ci
    npm start

    This will install the server-side dependencies and start the server.

  6. Your app should now be up and running!

Usage

You can access the web application by opening your web browser and navigating to http://localhost:3000. The application should be fully functional and ready for use.

Troubleshooting

If you encounter any issues during setup, please check that you have all the prerequisites installed and that there are no errors in the terminal output. If you need further assistance, feel free to reach out to the project team for support.

Credits

This projected was created by the following individuals:

  • Alex Su
  • Izaac Tay
  • Samuel Chua
  • Rakesh Selvaraj
  • Yash Goyal