Skip to content

Commit

Permalink
Update CONTRIBUTING.md
Browse files Browse the repository at this point in the history
  • Loading branch information
scopsy committed May 29, 2022
1 parent 093d0b2 commit adecf1c
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Thank you for showing an interest in contributing to Novu! All kinds of contribution are valuable to us. In this guide we will cover how you can quickly onboard and make your first contribution.

# Submitting an issue
## Submitting an issue

Before submitting a new issue, please search the issues and discussion tabs maybe an issue or discussion already exists and might inform you of workarounds, or you can give new information.

Expand All @@ -15,26 +15,26 @@ Without said minimal reproduction, we won't be able to investigate all issues, a

You can open a new issues with this new [issue form](https://github.com/novuhq/novu/issues/new).

# Projects structure and Architecture
## The Novu Architecture
## Projects structure and Architecture
### The Novu Architecture
![https://user-images.githubusercontent.com/8872447/168135722-2643eac4-8fcd-4de6-909b-02118faa1dc8.jpeg](https://user-images.githubusercontent.com/8872447/168135722-2643eac4-8fcd-4de6-909b-02118faa1dc8.jpeg)
To learn more about the novu mental mode visit our documentation site on this [link](https://docs.novu.co/docs/overview/architecture).

## Project Structure
### Project Structure
Novu uses a monorepo approach to manage our multiple packages and their associated code.
![https://s3.us-west-2.amazonaws.com/secure.notion-static.com/4245671a-ce3f-47df-93f2-dace8692f899/Mono-repo_Structure_%283%29.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20220529%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20220529T121252Z&X-Amz-Expires=86400&X-Amz-Signature=4f9df38e3a3c19bafb8bcb98220cef81fa973d7c3a8fc3cb5311d1a1c2745357&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Mono-repo%2520Structure%2520%283%29.jpg%22&x-id=GetObject](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/4245671a-ce3f-47df-93f2-dace8692f899/Mono-repo_Structure_%283%29.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20220529%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20220529T121252Z&X-Amz-Expires=86400&X-Amz-Signature=4f9df38e3a3c19bafb8bcb98220cef81fa973d7c3a8fc3cb5311d1a1c2745357&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22Mono-repo%2520Structure%2520%283%29.jpg%22&x-id=GetObject)
Read more about our monorepo structure [here](https://novuhq.notion.site/Monorepo-structure-b34ab7edac334e6f9a5fe457cae3c530).

# Run Novu locally
## Requirements
## Run Novu locally
### Requirements
- Node.js version v14.19.3
- MongoDB
- Redis
- **(Optional)** pnpm v6 - Needed if you want to install new packages
- **(Optional)** localstack (required only in S3 related mopdules)
Need help installing the requirments? Read more [here](https://www.notion.so/novuhq/Dev-Machine-Setup-98d274c80fa249b0b0be75b9a7a72acb#a0e6bf0db22f46d8a2677692f986e366)

## Setup the project
### Setup the project
After installing the required services on your machine you can clone and setup your forked version of the project.

- Fork [Novu's repository](https://github.com/novuhq/novu). Clone or download your fork to your local machine.
Expand All @@ -54,18 +54,18 @@ If you only want to run parts of the platform, you can use the following run com
- **start:node** - Runs the `@novu/node` package in watch mode
- **start:notification-center** - Runs and build the React package for the Novu notification center

## Running tests
### Running tests

After making some changes, you can run the tests for the different package using the appropriate CLI commands.

### API
#### API
To run the api tests you can simply run the following command:
```shell
npm run start:e2e:api
```
The test will run a new instance of Novu against the test db and run the tests against it. The test db will be removed after tests has finished running.

### Web
#### Web
To run the front end tests for the web project using cypress you will need to install localstack in order for all the tests to pass.
Run the tests using:
```shell
Expand All @@ -77,26 +77,26 @@ To open the cypress management windows to debug tests run:
cd apps/web && npm run cypress:open
```

### Testing providers
#### Testing providers
To run tests against the providers folder you can use the "npm run test:providers" command.

# Missing a Feature?
## Missing a Feature?

If a feature is missing you can _request_ a new one by [submitting an issue](#submitting-an-issue) to our GitHub Repository.
If you would like to _implement_ it, an issue with your proposal must be submitted first, to be sure that we can use it. Please consider:


# Coding guides
## Coding guides

To ensure consistency throughout the source code, keep these rules in mind as you are working:
- All features or bug fixes must be tested by one or more specs (unit-tests).
- We use [Eslint default rule guide](https://eslint.org/docs/rules/), with minor changes. An automated formatter is available using prettier.

# Need help? Questions and suggestions
## Need help? Questions and suggestions

Questions, suggestions and thoughts are most welcome. Feel free to open a [Github Discussion](https://github.com/novuhq/novu/discussions). We can also be reached in our [Discord Channel](https://discord.gg/heTZ9zJd).

# Ways to contribute
## Ways to contribute

- Try the Novu API and platform and give feedback
- Add new providers
Expand All @@ -108,6 +108,6 @@ Questions, suggestions and thoughts are most welcome. Feel free to open a [Githu
- **Improve documentation** - fix incomplete or missing [docs](https://docs.novu.co/), bad wording, examples or explanations.


# Missing a provider?
## Missing a provider?

If you are in need of a provider we do not yet have, you can request a new one by [submitting an issue](#submitting-an-issue). Or you can build a new one by following our [create a provider guide](https://docs.novu.co/docs/community/create-provider).

0 comments on commit adecf1c

Please sign in to comment.