Skip to content

Car Marketplace that merges results from different sources, and get mor info of the cars with AI.

Notifications You must be signed in to change notification settings

eams1798/best-car-deals

Repository files navigation

Car Merged Marketplace

This app is a marketplace showing cars from different sources (i.e. Facebook, Craigslist, etc.) using some given filters to bring you the best deal. You can also try the AI feature to get more information about the car you are interested in.

Used stack

Frontend:

Backend:

Project structure

The project is structured in the following way:

Frontend:

Backend:

Installation

To install the project, follow these steps:

  1. Clone the repositories:
git clone https://github.com/eams1798/best-car-deals
git clone https://github.com/eams1798/best-car-deals_backend
  1. Install the dependencies. I recommend using yarn:
cd best-car-deals
yarn install
cd ../best-car-deals_backend
yarn install
yarn playwright install
yarn playwright install-deps chromium
  1. Create a Google Cloud account, start a new project and get a Maps API key. You can follow the steps listed here. You will need a Billing account to use all the Google APIs.
  2. Now go to https://ai.google.dev/ and follow the steps to get a new API key for Gemini.
  3. On the root of the backend directory, create a .env file with the following variable:
GEMINI_API_KEY=YOUR_GEMINI_API_KEY
  1. On the root of the frontend directory, create a .env file with the following variable:
VITE_GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY
  1. Use yarn dev on each directory if you want to run them locally, or yarn start if you want to run them on production mode.

How to use the app (click on the images to open the video)

  1. Using the main page to start searching for cars with basic filters.

Main page

  1. Clicking on a car to view all the information about the car, and using the AI feature for tips.

Car info

  1. Using the sort controls and the reverse checkbox.

Sort controls Reverse checkbox

  1. Using the filters sidebar.

Filters sidebar 1 Filters sidebar 2

Deployment

On each repo, there is another branch called "production". You can use those versions to deploy the app. Just change the script deploy on each package.json file, rewriting the user root and server IP address 185.28.22.245 by one that you own, then run yarn deploy on each repo.

Current issues

Unfortunately, there are some problems while scraping data from Facebook when doing it on production due to Meta restrictions. So, the production app will only work with Craigslist scraper. You can still use it without this restriction on development mode. I'll change the Facebook scraper service soon.

About

Car Marketplace that merges results from different sources, and get mor info of the cars with AI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published