A web application for encoding and decoding text using various ciphers. This project was developed as part of a university course on web development.
- 🔐 Multiple Ciphers: Supports a variety of ciphers including ROT13, Caesar, and Vigenère.
- 🔄 Bidirectional Operation: Functionality to both encode and decode text for each supported cipher.
- 📊 Real-time Analytics: Displays character and word counts as you type.
- 📋 Clipboard Integration: Easily copy the output text with a single click.
- 🎨 Responsive Design: A clean and intuitive user interface built with React and Tailwind CSS, ensuring a seamless experience on both desktop and mobile devices.
- ⚡ Efficient State Management: Utilizes React's state management for a fast and responsive user experience.
- ROT13
- Caesar Cipher
- Vigenère Cipher
- More to be added soon.
- Select a Cipher: Choose the desired cipher from the dropdown menu.
- Enter Text: Type or paste the text you want to encode or decode into the input field.
- Provide a Key: For ciphers that require a key (e.g., Caesar, Vigenère), enter the key in the designated field.
- Process Text: Click the "Encode" or "Decode" button.
- View Output: The result will be displayed in the output field.
- Copy or Clear: Use the "Copy" button to copy the result to your clipboard, or "Clear" to reset the fields.
To run this project locally, please follow the steps below.
Ensure you have Node.js and npm installed on your system.
- Clone the repository:
git clone https://github.com/jvalenteros/ciphers.git
- Navigate to the project directory:
cd ciphers - Install the necessary dependencies:
npm install
- Run the application in development mode. This will start a local server, and you can view the app by navigating to
http://localhost:3000in your browser.npm start
- Frontend: React, Tailwind CSS
- Language: JavaScript
- Implement additional ciphers.
- Custom cipher algorithms using node links (WIP)
- Add functionality to analyze the strength of the encoded text.
- Write unit tests for the cipher functions.
Contributions, issues, and feature requests are welcome. Please check the issues page for opportunities to contribute.
This project is licensed under the MIT License.
- Johann Valenteros
- GitHub: @jvalenteros
- Michael Rodriguez
- GitHub: @MichaelDriguez
- LinkedIn: Michael Rodriguez