diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38154dca6..fc606ada0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,13 +16,12 @@ - [Quote Guidelines](#quote-guidelines) - [Questions](#questions) ---- - ## Getting Started When contributing to Monkeytype, it's good to know our best practices, tips, and tricks. First, Monkeytype is written in Javascript, CSS, and HTML (in order of language usage within the project); thus, we assume you are comfortable in these languages or have basic knowledge of them. Our backend is in NodeJS and we use MongoDB to store our user data. Furthermore, we use Prettier to format our code. -### Prerequisites + +## Prerequisites While most contributions don't require that you install dependencies, there are a few tools you will need to be able to run the project (this is useful and almost always necessary for tasks like creating features and fixing bugs; running the project is also useful if you are contributing a theme and want to view it on the site before you contribute it). You will need a computer with a stable internet connection, a text editor, Git, Firebase, and NodeJS with a version < 14. @@ -80,20 +79,22 @@ Follow these steps if you want to work on anything involving the database/accoun 1. Inside the backend folder, copy `example.env` to `.env` in the same directory. 1. Optional - Install [MongoDB-compass](https://www.mongodb.com/try/download/compass?tck=docs_compass). This tool can be used to see and manipulate your data visually. - 1. To connect, type `mongodb://localhost:27017` in the connection string box and press connect. The monkeytype database will be created and shown` after the server is started. + 1. To connect, type `mongodb://localhost:27017` in the connection string box and press connect. The monkeytype database will be created and shown` after the server is started`. #### NodeJS To install NodeJS, navigate to the NodeJS [website](https://nodejs.org/en/) and download the `xx.xx.x LTS`. -### Building and Running Monkeytype + +## Building and Running Monkeytype Once you have completed the above steps, you are ready to build and run Monkeytype. 1. Run `npm install` in the project root directory to install dependencies. 1. Run `npm run start:dev` (`npm run start:dev:nodb` if you skipped the mongo section) to start a local dev server on [port 5000](http://localhost:5000). It will watch for changes and rebuild when you edit files in `src/` or `public/` directories. Note that rebuilding doesn't happen instantaneously so be patient for changes to appear. Use Ctrl+C to kill it. -### Standards and Guidelines + +## Standards and Guidelines Code style is enforced by [Prettier](https://prettier.io/docs/en/install.html), which automatically runs every time you `git commit` (if you've followed the above instructions properly). @@ -126,6 +127,7 @@ Before submitting a theme: - Verify the `id` property is incremented correctly - Please do not add extremely short quotes (less than 60 characters) + ## Questions If you have any questions, comments, concerns, or problems let me know on [GitHub](https://github.com/Miodec), [Discord](https://discord.gg/monkeytype) in the `#development` channel, or ask a question on Monkeytype's [GitHub discussions](https://github.com/Miodec/monkeytype/discussions) and a contributor will be happy to assist you.