- Open an issue: If you fine an bug while using the application, make sure to open an issue for it. Do mention the algorithm type, key used, plain text and cipher text. You can also open an issue for a feature request or algorithm request.
- Add an encryption algorithm: If you want to add an encryption algorithm, you can open an issue for it and get that assigned to yourself. A brief guide on how to add encryption algorithm to the project can be found in Steps to add a new algorithm section.
- Refactor the code: This project started to be build quickly. But now this project needs a lot of code refactoring. If you see an file, feature, section that you think can be refacotred for better usability/readability, go ahead an open an issue on that and solve that.
- Solve an issue: You can solve an already raised bug or create a feautre requested in the issues section.
Below are step by step process on how to run this app locally and contribute to the project
-
Fork this repository
-
Clone this repository. You can do that by executing the following command in your terminal
git clone [email protected]:<your_username>/ciphered
-
Install all the required dependencies. You can do that by first changing the current directory using
cd ciphered
and then running the following command:pnpm i
This project uses pnpm and NodeJS. You will need to install them to run this project locally.
-
Optional Step: Create a new branch
If you're solving an issue or making some code contributions, it is very much recommended to make a new branch. This can be done by executing the following command (provided that you're already in the project directory):
git checkout -b <new_branch_name>
-
Now run the application locally using the follwing command:
pnpm dev
-
Write some code and then commit it. First, stage all the files using
git add .
and then you can commit usinggit commit -m "YOUR_MESSAGE_HERE"`
It is highly recommended to use Conventional Commit messages while making a commit.
-
Push your changes onto the branch:
git push -u origin <new_branch_name>
-
Create a pull request.
While creating a pull request, make sure to add the followings:
- Issue number: Which issue does your PR solves
- Changes made: What exactly are the changes that your code does
- Breaking changes: Does your code breaks something
- Documentation Update: Did your code need an update in the docs, if yes, then did you make those?
-
Done!
Following are all the changes you'll have to make to add a new algorithm in the project.
Before working on a new algorithm, make sure to open an issue for that and get yourself assigned on it.
-
Add the algorithm logic: Add a new class (file) that exports the algorithm. The exported item should be a class with the
encrypt
anddecrypt
method.Checkout Caesar Cipher Algorithm from the codebase.
The file should be in the
/src/lib/algorithms/
directory. -
Export the algorithm: Import the algorithm in the
/src/lib/algorithms/index.ts
file and then export it from there. -
Add the algorithm value in
/src/types/index.ts
file (line 3) -
Add new
<SelectItem>
component in/src/components/Algorithm.tsx
component for the new algorithm. -
Implement the logic & key compatibility in
/src/components/Main.tsx
file.
You can contact me (@inclinedadarsh) on Twitter or mail me at [email protected]