Build Your Own Palindrome Checker

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.

Join our community

Need to show-off or ask doubts? Join our Slack Community. Ask questions, help others and learn in public to make the best use of MBProject.

Recent Attempts

Be the first to build this project

Ready? Start Building

Includes the necessary PRD, assets, design and frontend files, style guide and a README file to help you with each step of the project.

Start Building (Be Notified)

Tags

Easy

2 Tasks

Coding

Python

Want Your Certificate?

Complete all the tasks in the project to claim your certificate