This project is a full-stack web application for uploading, mapping, and merging two datasets (CSV files) to analyze relationships between two datasets. Built for the EY Data Integration Challenge at Hack-The-Valley-X.
- Upload two CSV datasets (e.g., weather data and energy consumption data)
- Automatic column mapping using exact match and string similarity
- Merges and concatenates all rows from both datasets, combining mapped columns and including unmapped columns
- Displays merged data and column mapping in a clean, interactive web UI
- Built with React (frontend) and Node.js/Express (backend)
- Upload: Select and upload two CSV files via the dashboard.
- Mapping: The backend automatically maps columns between the two datasets using name similarity.
- Merging: All rows from both datasets are merged. Mapped columns are unified; unmapped columns are appended.
- Visualization: The merged data and column mapping are displayed in the web UI for further analysis.
- Frontend: React, Tailwind CSS
- Backend: Node.js, Express, Multer, csv-parser, string-similarity
- Other: CORS, file upload handling
- Node.js (v14+ recommended)
- npm
-
Clone the repository
git clone https://github.com/Yatriba-Rathod/Hack-The-Valley-X.git cd Hack-The-Valley-X -
Install backend dependencies
cd backend npm install -
Install frontend dependencies
cd ../frontend npm install
-
Start the backend server
cd backend node server.js -
Start the frontend
cd ../frontend npm start -
Open http://localhost:3000 in your browser.
backend/
server.js
package.json
uploads/
frontend/
src/
App.js
components/
DataUploader.jsx
package.json
- Dataset 1: Weather data (temperature, humidity, etc.)
- Dataset 2: Energy consumption data (energy usage, occupancy, etc.)
- Goal: Analyze how weather conditions affect energy consumption by merging and mapping relevant columns.
Built for Hack-The-Valley-X EY Data Integration Challenge.