Let's build an online marketplace for Brown University!

Shop time!

Introduction

Brown Marketplace is designed as a local transaction platform for Brown community members who are looking to sell or buy second-hand belongings within the Providence area. The app not only provides a convenient and secure transaction platform to trusted buyers and sellers, but also seeks to eliminate impacts on the environment by promoting second-hand goods reuse.

On this website, users could search for, bookmark, sell, and purchase products from fellow community members and receive personalized recommendations. The goal is to help student and faculty buyers and sellers establish connections.

Functionality & Implementation

Frontend

We use React as the framework for our frontend development. We also use Typescript and NPM.

React component library for pre-styled components.

The Express Router is used for the Multi-Page Web App.

Backend

We use Firebase Realtime Database for storing product information, user profiles, and buying and selling listings. We use Firebase Storage for uploading and storing images.

We use Java to create the recommender system based on bloom filter.

The recommender program is connected to the front end through the Spark Server. The recommender extracts the relevant product attributes through database proxy, pass them into Bloom Filters for each product, and generate recommendations based on XNOR similarity scores compared with the user liked items. The resulting list of recommended items is then sent to the frontend as a Json object.

We use the Google User API for creating user accounts. We also set up API endpoints for the frontend to receive data from the backend, such as user data in the database.

Final Product

Here is the final product! Click on the image to visit Brown Marketplace!

Reflection & Further Development

Overall, this was a valuable learning experience for us in terms of designing and developing a user-oriented product. We also wish to implement the following features if time permits:
  • Support direct chat between users
  • Upgrade the recommendation system using machine learning and natural language processing models
  • Incorporate payment APIs for completing transactions
Back to Portfolio