- Project Overview
- Motivation
- Project Structure
- Features
- Installation
- Usage
- Future Work
- Contributing
- License
- Acknowledgements
This project aims to automate the process of finding specific types of bikes across different marketplaces. Currently, it supports data extraction from Blocket. The project consists of three main processes and some additional commands, primarily written in JavaScript and Python.
Finding the right bike across various online marketplaces can be a time-consuming task. This project is designed to simplify this process by using machine learning and automated data extraction to identify and locate specific types of bikes efficiently.
The project is organized into the following main components:
-
Frontend (FE)
- Built with Vite.
- Allows users to create a boundary box around the object of interest.
- Generates a CSV file to train the machine learning model.
-
API
- Developed using Node.js with Express.
- Acts as the coordinator and nexus between the frontend, the data extraction service, and the commands.
-
Data Extraction Service
- Responsible for extracting data from different marketplaces.
- Currently implemented for Blocket.
-
Commands (Python)
- Train Model: A command to train the machine learning model.
- Evaluate Image: A command to evaluate an image using the trained model.
-
Frontend Interface:
- Create boundary boxes for objects.
- Export data to CSV for model training.
-
API:
- Integrates different services and commands.
- Provides endpoints for data extraction and model evaluation.
-
Data Extraction:
- Extracts bike listings from Blocket.
-
Machine Learning:
- Train a model using provided CSV data.
- Evaluate images to find specific bikes.
- Node.js and npm
- Python 3.x
- Vite
-
Clone the Repository
git clone https://github.com/yourusername/yourproject.git cd yourproject
-
Install Frontend Dependencies
cd frontend npm install
-
Install API Dependencies
cd ../api npm install
-
Install Python Dependencies
pip install -r requirements.txt
-
Navigate to the frontend directory:
cd frontend
-
Start the development server:
npm run dev
-
Open your browser and go to
http://localhost:3000
.
-
Navigate to the API directory:
cd api
-
Start the API server:
npm start
-
The API server will be running at
http://localhost:3001
.
-
Train Model:
python train_model.py --data_path path/to/csv
-
Evaluate Image:
python evaluate_image.py --model_path path/to/model --image_path path/to/image
- Add support for more marketplaces.
- Improve the machine learning model.
- Enhance the frontend user interface.
- Implement additional commands and functionalities.
- Fork the repository.
- Create a new branch (
git checkout -b feature/feature-name
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/feature-name
). - Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors and open-source libraries used in this project.