Nutcracker is a web app that makes it easy for cipher enthusiasts (or unlucky Science Olympiad students) to practice some of the most common types of ciphers.
Check it out here! The interface allows users to solve from a list of ciphers and sign in to save their progress. The frontend is mainly React while the backend is mainly Express + mongoDB.
Before you begin, ensure you have met the following requirements:
- You have installed the latest version of
Node.js
andnpm
- You have read
https://docs.atlas.mongodb.com/getting-started/
and set up a database in mongoDB Atlas.
To install Nutcracker, follow these steps:
- Clone the repository:
$ git clone https://github.com/preservedfish/nutcracker.git
- Install the dependencies in both the
backend
andfrontend
folders (they have separatepackage.json
files):
$ npm install
To use Nutcracker, follow these steps:
- Add an .env file in
backend
's root directory with your own values:
MONGODB_URI='<mongo uri/connection string>'
PORT=<port number for backend, default 3001>
SECRET='<secret value for signing user tokens>'
- In the
backend
folder, start the backend (accessible at http://localhost:3001):
$ npm start
- In the
frontend
folder, start the frontend (accessible at http://localhost:3000):
$ npm start
To contribute to Nutcracker, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch:
git push origin nutcracker/<location>
- Create the pull request.
Alternatively see the GitHub documentation on creating a pull request.
This project is licensed under the terms of the MIT license.