The project aims to create a web application that allows users to input a string and determine if it is a palindrome. A palindrome is a word, phrase, number, or other sequence of characters that reads the same forward and backward (ignoring spaces, punctuation, and capitalization). This tool will provide an easy and efficient way for users to check for palindromes in various texts.
Objectives
Allow users to input strings to check if they are palindromes.
Provide clear feedback on whether the input is a palindrome or not.
Support various input types, including phrases and sentences, by ignoring spaces and punctuation.
Functional Requirements
User Input
Input Field: Users can enter a string in a text input field.
Submit Button: Users can click a button to submit the input for checking
Palindrome Check
Validation Logic: The application will evaluate the input string, ignoring spaces, punctuation, and case sensitivity.
Result Display: Once evaluated, the result (whether the string is a palindrome) will be displayed prominently on the screen.
Non-Functional Requirements
Usability: The user interface should be simple and intuitive, allowing users to easily check for palindromes.
Performance: The application should return results quickly, with minimal delay.
Accessibility: Ensure the application is usable across various devices and screen sizes.
Use Cases
Check Palindrome: Users input a string and submit it to see if it is a palindrome.
User Stories
As a user, I want to input a string so that I can check if it is a palindrome.
As a user, I want to receive immediate feedback on whether my input is a palindrome so that I can understand the result.
As a user, I want to easily re-check different strings without refreshing the page.
Technical Requirements
Frontend: Utilize HTML, CSS, and JavaScript to build the user interface.
Palindrome Logic: Implement a function that checks if a string is a palindrome by normalizing the input.
API Endpoints (if applicable)
Palindrome Check
POST /check: Accepts a string and returns whether it is a palindrome.
Security
Implement basic input validation to ensure that the string is properly formatted.
Use HTTPS for secure communication if deployed online.
Performance
Ensure that the palindrome checking process is efficient and provides immediate feedback to the user.
Documentation
Provide user documentation explaining how to use the palindrome checker.
Create technical documentation detailing the implementation and potential enhancements for developers.
Glossary
Palindrome: A word, phrase, or sequence that reads the same backward as forward.
Normalization: The process of transforming input to a standard format for evaluation (e.g., removing spaces and punctuation, converting to lowercase).
Appendix
Include wireframes of the user interface and any relevant diagrams or additional references related to the project.