Skip to content

tzada8/capstone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation


Juxtapose

Juxtapose: Recommendation & Comparison Application for Improving Purchasing Decisions

Juxtapose is a web application designed to help online shoppers tackle the difficulty of making well-informed and confident purchasing decisions by alleviating decision paralysis and information overload.

Backend Production · Frontend Production

Table of Contents
  1. About The Project
  2. Getting Started
  3. Adding Additional Packages
  4. Starting the App
  5. Testing
  6. Acknowledgments

About The Project

Comparison Layout

Juxtapose helps shoppers make improved purchasing decisions by ensuring they feel less overwhelmed by the number of product options and volume of information available. By aggregating specifications, peer reviews, expert reviews, and related videos, and providing tailored recommendations, shoppers can reach purchasing decisions with ease!

To use Juxtapose, you can:

  1. Search: Search for product category (ex. DSLR cameras)
  2. Set filters & preferences: Set filters and rank your feature preferences
  3. View recommendations: See the products we think you’ll like
  4. Compare: Compare products and pick your favourite one

(back to top)

Getting Started

To get a local copy up and running, follow these simple steps. You must always have 2 terminals open, where one terminal points to the backend folder and the other points to the frontend folder.

Installations

Ensure the following applications are locally installed:

Backend Setup

Follow the steps listed below to setup your backend environment.

  1. Open a new terminal
  2. Change directory to the backend folder
    cd backend
    
  3. Create a local virtual environment
    python3 -m venv .venv
    
  4. Activate the virtual environment
    source .venv/bin/activate
    
  5. Install requirements dependencies
    pip install -r requirements.txt
    
  6. Install NLTK dependencies
    python3 -m nltk.downloader vader_lexicon
    
    Ensure your {PYTHON_VERSION} is identical to what's listed in your File Explorer. If you run into an error, try running
    pip install certifi /Applications/Python\ {PYTHON_VERSION}/Install\ Certificates.command
    
  7. Create a .env file
    touch .env
    
  8. Reach out to the team for the environment variables, adding them to the .env file
  9. When needed, deactivate the local virtual environment
    deactivate
    

Frontend Setup

Follow the steps listed below to setup your frontend environment.

  1. Open a new terminal
  2. Change directory to the frontend folder
    cd frontend
    
  3. Install node dependencies
    npm install
    
  4. Create a .env file
    touch .env
    
  5. Reach out to the team for the environment variables, adding them to the .env file

(back to top)

Adding Additional Packages

To add additional packages when developing, follow these steps.

Backend Packages

  1. Change directory to the backend folder
    cd backend
    
  2. Activate your virtual environment
    source .venv/bin/activate
    
  3. Install the additional packages. As as example:
    pip install pandas
    
  4. Update the requirements dependencies
    pip freeze > requirements.txt
    
  5. Commit the requirements.txt file

Frontend Packages

  1. Change directory to the frontend folder
    cd frontend
    
  2. Install the additional packages. As as example:
    npm install antd
    
  3. Commit the package.json and package-lock.json files

(back to top)

Starting the App

To locally run the application, the following steps can be run. The backend can be run independently, but to run the frontend, the backend needs to also be run.

Backend Startup

  1. Change directory to the backend folder
    cd backend
    
  2. Activate your virtual environment
    source .venv/bin/activate
    
  3. Start the backend service
    flask --debug run --no-debugger
    

Frontend Startup

  1. Change directory to the frontend folder
    cd frontend
    
  2. Start the frontend service
    npm start
    

(back to top)

Testing

To locally run the backend and frontend automated tests, run the following steps.

Backend Tests

  1. Change directory to the backend folder
    cd backend
    
  2. Activate your virtual environment
    source .venv/bin/activate
    
  3. Run the backend tests
    python3 -m unittest discover
    

Frontend Tests

  1. Change directory to the frontend folder
    cd frontend
    
  2. Run the frontend tests
    npm test
    

(back to top)

Acknowledgments

Several acknowledgements to be made includes Prof. Kejia Zhu along with the following technologies

Backend APIs

Frontend Libraries

(back to top)

About

Recommendation & comparison application for improving purchasing decisions

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •