StringScan is an advanced text processing tool that combines the power of C++ algorithms with a user-friendly React frontend. It offers efficient pattern matching, text similarity comparison, palindrome detection, and autocomplete functionality.
- Pattern Search: Utilizes KMP or Z algorithm for efficient pattern matching
- Text Similarity: Finds the longest common subsequence (LCS) between two texts
- Palindrome Detection: Identifies the largest palindrome using Manacher's algorithm
- Autocomplete: Provides word suggestions using a Trie data structure
- Web Interface: Easy-to-use React frontend for text analysis and manipulation
- C++ compiler (C++11 or later)
- Node.js and npm
- CMake (for building C++ backend)
-
Clone the repository:
git clone https://github.com/yourusername/StringScan.git cd StringScan
-
Build the C++ backend:
mkdir build && cd build cmake .. make
-
Install frontend dependencies:
cd ../frontend npm install
-
Start the C++ backend server:
./build/stringscan_server
-
In a new terminal, start the React frontend:
cd frontend npm start
-
Open your browser and navigate to
http://localhost:3000
- Load one or two text files using the file upload feature.
- Use the search bar to find patterns within the text.
- Click the "Similarity" button when two texts are loaded to find the longest common subsequence.
- Use the "Palindrome" button to find the largest palindrome in the text.
- Start typing in the autocomplete field to receive word suggestions.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.