Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haminimi/caesar-cipher

The main purpose of the project is to practice testing using Jest.
https://github.com/haminimi/caesar-cipher

caesar-cipher caesar-cipher-algorithm decryption encryption encryption-decryption jest test-driven-development testing

Last synced: 6 days ago
JSON representation

The main purpose of the project is to practice testing using Jest.

Awesome Lists containing this project

README

        

# Caesar Cipher
## Description
The main purpose of the project is to practice testing using Jest. The functions used for tests are just some basic functions, but the interesting one is the caesarCipher function. [The project](https://www.theodinproject.com/lessons/node-path-javascript-testing-practice) is a part of [The Odin Project](https://www.theodinproject.com/dashboard)'s curriculum. The Odin Project provides a high quality web development education maintained by an open source community.
## Live Preview
Open up your [developer console](https://haminimi.github.io/caesar-cipher/) and try the caesarCipher function this way:
```javascript
caesarCipher('Julius Caesar', 3)
```
and you'll get an encrypted result:
```javascript
'MXOLXV FDHVDU'
```
## Main Features
- **caesarCipher:** In cryptography, a Caesar cipher is one of the simplest and most widely known encryption techniques. The function takes a string and a shift factor and returns it with each character “shifted”. More about the Caesar cipher on [Wikipedia](https://en.wikipedia.org/wiki/Caesar_cipher) and [here](https://crypto.interactive-maths.com/caesar-shift-cipher.html).

**To Do:**
- [ ] **Standalone encryption/decryption project**
## Tech
**The project is built with:**
- HTML
- Vanilla JavaScript

**Tools**
- Visual Studio Code
- Git
- Jest
## Covered Topics
**This section mentions the main topics covered during project work and prior lessons**
- Open Source
- Advanced Git - Rewriting History, Remote Repositories, Collaboration
- Test Driven Development
- Testing / Jest
## Reflection
The main purpose of the project is to practice testing using Jest. The functions used for tests are just some basic functions, but the interesting one is the caesarCipher function. This could potentially become an interesting standalone project with some other encryption/decryption techniques.
## Credits
- Icon used for the favicon image is one of the [Hierarchy icons created by Freepik - Flaticon](https://www.flaticon.com/free-icons/hierarchy).
## Happy coding!