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.
- 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.
- Frontend: React js, Tailwind css
- Backend: Express js
- Database: Supabase (PostgreSQL)
-
Clone the Repository:
git clone https://github.com/your-username/TechShoppers.git cd TechShoppers
-
Install Dependencies:
# Install backend dependencies cd backend npm install npm update(optional) # Install frontend dependencies cd ../frontend npm install npm update(optional)
-
Configure Environment Variables:
-
Create a
.env
file in thebackend
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>
-
-
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
-
Open in Browser: Open your browser and navigate to http://localhost:3000/home to access homepage of TechShoppers.
-
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
- The API documentation, ERD and System Architecture details can be found in the system-design directory.
- 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:
-
customer/normal user:
username: jerry
password: 12345aA@
-
admin:
username: dipta
password: 12345aA@
-
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.
- Sheikh Intiser Uddin Dipta - 1905003 - sheikhDipta003
- Tanhiat Fatema Afnan - 1905014 - Afnan312
- Nazmus Sakib Sami - 1905030 - mahito57