This unified project integrates a contact management system, sorting algorithm visualizer, pathfinding algorithm visualizer, and binary search tree visualizer into one cohesive application. Each module showcases the power of different data structures and algorithms, providing both functional and educational value. With MySQL for persistent data storage and a robust Spring Boot backend, this application is scalable and easy to maintain. The frontend leverages D3.js for dynamic and interactive visualizations, offering a rich user experience. Key Features:
Contact Management System:
CRUD Operations: Add, update, delete, and retrieve contacts stored in a MySQL database. Spring Boot Integration: Efficient backend processing with a RESTful API interface. Sorting Algorithm Visualizer:
Bubble Sort and Quick Sort: Demonstrates two fundamental sorting algorithms with backend processing and visual output. Interactive Input: Users can input arrays and view sorted results through intuitive visualizations. Pathfinding Algorithm Visualizer:
Dijkstra’s and A Algorithms*: Explore two popular pathfinding algorithms with dynamic visualizations on a grid. Customizable Grid: Users can define grid obstacles and start/end points to see how paths are calculated in real-time. Binary Search Tree Visualizer:
Tree Operations: Insert, delete, and search nodes in a Binary Search Tree with detailed visual representations. D3.js Visualizations: Utilizes D3.js to render the tree structure dynamically, providing a clear view of operations and changes. Technologies Used:
Backend: Java, Spring Boot, Spring Data JPA Frontend: HTML, CSS, JavaScript, D3.js Database: MySQL