SubHunter is a web application that allows users to upload a CSV file and identify duplicate entries in a specific column. The data is presented in a table in a user-friendly dashboard. The dashboard also includes features to highlight and remove table rows. It is currently used for searching bank account activity for recurring payments that could be subscription services.
- Upload a CSV file.
- Parse the CSV file and identify duplicate entries in the "Description" column.
- Present the data in a Material-UI table.
- Highlight rows by clicking a checkmark icon.
- Remove rows by clicking an X icon.
- Undo the removal of a row.
- Display a notification for 10 seconds after a row is removed.
- Back-end: Go
- Front-end: React, Material-UI
- Testing: Jest, React Testing Library
- Go version 1.17 or later.
- Node.js version 14 or later.
- NPM version 6 or later.
Clone the repository:
git clone https://github.com/user/repo.git
cd repo
Install the Go dependencies:
go get .
Start the Go server:
go run server/main.go
Install the Node.js dependencies:
cd client
npm install
Start the React development server:
npm start
The application will be available at http://localhost:3000
.
Build the Go server:
go build server/main.go
Build the React application:
cd client
npm run build
Start the server:
./main
The application will be available at http://localhost:8080
.
Run the Go tests:
go test ./...
Run the React tests:
cd client
npm test