xyzes / duplicate-finder

A web application to find and display duplicates from a contact list, made with Java and Spring Boot.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Duplicate Finder

Summary

This is a Java/Spring Boot web application to find duplicates in a CSV contact list made as part of Validity Inc's Co-op Take Home Exercise. This application was developed using JetBrains IntelliJ Idea Ultimate.

Instructions

The application is only optimized and confirmed to run on IntelliJ Idea software. In order to run the application, clone this repository into a folder on your computer using Git and open the project folder on IntelliJ. On the solution explorer, right click on the project folder (named validity-test by default) and select Add Framework Support. Enable Maven support. Once Maven is enabled, right click on the project folder once again, select Maven, and click Reimport. This will download all other dependencies from the pom.xml file.

Overview
Application files
  • DuplicatesApplication.java: contains the MAIN function to run the Spring Boot application.
  • DuplicatesApplicationController.java: controller to fetch data from the CSV files and return to the view.
  • Utils.java: Helpers to read and analyze CSV files and find duplicates based on Levenshtein distance and Double Metaphone.
Other
  • DuplicatesApplicationTest.java: contains tests for Levenshtein and Metaphone implementations.
  • pom.xml: Maven project to import dependencies.
Dependencies
  • Spring Boot + Spring MVC
  • JUnit 5.5.2
  • Apache Commons Codec (Double Metaphone)
  • Apache Commons Text (Levenshtein)
  • Apache Commons CSV

About

A web application to find and display duplicates from a contact list, made with Java and Spring Boot.


Languages

Language:Java 100.0%