# Contributing to NearBeach

<!---
##  Hacktoberfest 2021

Welcome to NearBeach, we are super glad you are here. In the following month of Hacktoberfest we are hoping to achieve the following goals/milestones.

- Update our VueJS library to VueJS 3+
- Update our Webpacker from version 4 to version 5
- Increase our code coverage for both Django and VueJS
- Increase our E2E testing with Cypress.io
- Bug test whole application
- Fix bugs listed in the [Github Issues](https://github.com/robotichead/NearBeach/issues).
- Improve user documentation
- Start working on Docker installation process

This seems a lot to cover within such a short time frame, but we are hoping you are willing to help us. We greatly appreciate all the help we can get no matter how small the contribution.
--->

If you would like to join our community, please join our [fun and exciting discord](https://discord.gg/64uhRztS6n).

## Contributing to NearBeach

We are always looking for new contributors. There are many different ways to contribute to NearBeach, for example;

-   Donating via [github sponsorships](https://github.com/sponsors/NearBeach) or [our patreon](https://www.patreon.com/NearBeach)
-   Bug testing
-   Bug fixing
-   Writing Documentation
-   Writing new components or functionality for NearBeach
-   Refactoring Code, i.e. making it more efficient
-   Updating Code, i.e. updating libraries
-   Marketing NearBeach
-   Supplying feedback on NearBeach, i.e. improvements and feature requests

and many many more. Join our [community on discord to see what you can do](https://discord.gg/64uhRztS6n)

## Code of Conduct

Please read our [code of conduct here](https://github.com/robotichead/NearBeach/blob/main/CODE_OF_CONDUCT.md).

## NearBeach Overview

NearBeach is an open source project management system, that has been built using both the frameworks; Django and VueJS.

### Objects in NearBeach

Each different module/componet in NearBeach are called Objects. The following objects currently exist;

-   Organisations
-   Customers
-   Requirements
-   Requirement Items
-   Projects
-   Tasks
-   Request for Changes
-   Kanban Boards

Each object shall have it's own folder structure within the respected location, i.e. `/views/projects`.

## Setting up local dev environment

Please follow the instructions in our documentation: [Setting up local dev environment](https://nearbeach.readthedocs.io/en/documentation/002-local-development-environment-setup/index.html)

## Donating

Like most projects, there are some overhead costs. Every single dollar that we get will go towards;

-   Software costs
-   Administration costs
-   Freelance costs (i.e. hiring help like designers)

We are being transparent with all our costs and will try and provide a yearly cost breakdown every 6 months.

## Bug Reporting

Bug reporting is a very important role for NearBeach. During Hacktoberfest, you are more than welcome to submit issues.

## CodeClimate Issues

NearBeach currently has a number of easy tasks/issues located on our [CodeClimte - https://codeclimate.com/github/robotichead/NearBeach/issues](https://codeclimate.com/github/robotichead/NearBeach/issues)

## Pull Requests

Please fork NearBeach, git your changes in and then submit a simple pull request.

When submitting a pull request, please fill out the template appropriately. We have flagged NearBeach's repository with Hacktoberfest, so any accepted pull requests WILL count towards Hacktoberfest.

Not all pull requests will be accepted.

## Documentation

Our documentation is hosted on [readthedocs](https://nearbeach.readthedocs.io). If you would like to contribute to the documentation, you will be able to find the files within `/docs`
