HardPick is a web application designed to help you find the best computer within your budget. By leveraging the power of Python, Node.js, and Flask, HardPick ensures a seamless and efficient experience for users looking to make informed purchasing decisions.
- User-Friendly Interface: Easy-to-navigate interface to input budget and preferences.
- Real-Time Data: Fetches the latest computer hardware data.
- Budget Optimization: Recommends the best computer configuration within your specified budget.
- Multi-Platform: Accessible via desktop and mobile devices.
The front-end web application is built using JavaScript. Users input their desired PC specifications and budget, which are then sent as a request to an API built with Flask. This API scrapes various sites in Tunisia that sell PCs, benchmarks the components by scraping other websites, and assigns a score to each component. Based on these scores, the application renders a final result, recommending the best computer configuration within the user's budget.
- Python 3.x
- Node.js and npm
- Flask
- beautifulSoup
-
Clone the repository:
git clone https://github.com/Amine-Zitoun/hardpick.git cd hardpick
-
Set up the backend:
cd backend python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
-
Set up the frontend:
cd ../frontend npm install
-
Run the application:
cd ../backend flask run cd ../frontend npm start
- Open your web browser and navigate to
http://localhost:3000
. - Enter your budget and preferences.
- Get recommendations for the best computer configuration within your budget.
- Python: Backend processing and data handling.
- Flask: Web framework for the backend.
- Node.js: JavaScript runtime for the frontend development.
- React: (or your chosen front-end framework) for building user interfaces.
- APIs: For fetching real-time data on computer hardware.
Contributions are welcome! Please fork this repository and submit a pull request for review.
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
- Make your changes and commit them:
git commit -m "Description of your changes"
- Push to the branch:
git push origin feature-branch
- Submit a pull request.