Skip to content

This is the final year undergraduate software development project of CSE, BUET

Notifications You must be signed in to change notification settings

sheikhDipta003/CSE408-BUET-Software-Development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TechShoppers - Your One-Stop Tech Shop for Price Comparsion accross the Web

Introduction

Welcome to the repository for our Price Comparison Website. This platform is designed to help users find the best prices for products across various online retailers. We leverage an MVC architecture for ease of implementation, modularity and separation of concerns.

Features

  • Search functionality for a wide range of products.
  • Real-time price comparison from multiple online retailers.
  • User account creation and management.
  • Product reviews and ratings.
  • Price drop alerts and notifications.
  • Secure user authentication and authorization.

Getting Started

Technology Stack

  • Frontend: React js, Tailwind css
  • Backend: Express js
  • Database: Supabase (PostgreSQL)

Installation

  1. Clone the Repository:

    git clone https://github.com/your-username/TechShoppers.git
    cd TechShoppers
  2. Install Dependencies:

    # Install backend dependencies
    cd backend
    npm install
    npm update(optional)
    
    # Install frontend dependencies
    cd ../frontend
    npm install
    npm update(optional)
  3. Configure Environment Variables:

    • Create a .env file in the backend directory and set up your these environment variables: HOST = localhost

      PORT = 5432 (postgres database server will be exposed via this port)

      LOCALPORT = 5000 (this is the port where the server of TechShopers will run)

      USER = postgres

      PASSWORD = <your-postgres-password>

  4. Run the Application locally:

    # Start the backend server
    cd backend
    npm run dev (or, nodemon server or node server)
    
    # Start the backend server (uses the node package named 'json-server'; fetch sample data for temporary use in the frontend)
    cd frontend
    npm run jsonserver
    
    # Start the frontend development server
    cd ../frontend
    npm run start
    
    # Run the scrapper to get updated information from startech and ryanscomputers
    cd backend
    node scrapper\startech_laptop.js
    node scrapper\startech_desktop.js
    node scrapper\ryans_laptop.js
    node scrapper\ryans_desktop.js
    ... ... ... ... ... ... ... ...
    node scrapper\jsonTODB.cjs
  5. Open in Browser: Open your browser and navigate to http://localhost:3000/home to access homepage of TechShoppers.

Demo

  • Navigating through the products-sort,search,filter

  • Users can add products to wishlist, get product recommendations and top offers, set price alert, get notified when price drops below threshold, follow/unfollow events and more

  • Collaborators can promote their own products so that they appear in Top Offers list of users, they can create and manage events and vouchers and more

  • Admins can view overall statistics of TechShoppers, approve/disapprove events and reviews, add/remove users, collaborators and other admins

API Documentation

  • The API documentation, ERD and System Architecture details can be found in the system-design directory.

Additional Information

  • Since the supbase project has been paused and cannot be restored via dashboard, follow these instructions in order to restore the backup database and run the project
  • Credentials for 3 different kinds of users are given below. You may login as one of them or you may register as a new user:
    1. customer/normal user:

      username: jerry

      password: 12345aA@

    2. admin:

      username: dipta

      password: 12345aA@

    3. collaborator:

      username: afnanCollab

      password: 12345aA@

  • Only an admin can add a new admin or new collaborator. So, you can only register as a normal user, not as admin/collaborator.

Authors

About

This is the final year undergraduate software development project of CSE, BUET

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •