70 lines
4.4 KiB
Markdown
70 lines
4.4 KiB
Markdown
# Contributing
|
|
|
|
Thank you for helping us make [our vision](https://cortezaproject.org/about/what-is-corteza/) a reality!
|
|
All contributions are welcome; from bug reports, codefixes, and new features!
|
|
|
|
## Ground Rules
|
|
|
|
Corteza projects are [Apache 2.0 licensed](LICENSE) and accept contributions via GitHub pull requests.
|
|
|
|
Cover the [terminology](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/release-cycle/index.html#_terminology) for the development process and versioning.
|
|
|
|
Cover the [Git and GitHub](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/release-cycle/index.html#_github) ground rules regarding branch naming and conventions.
|
|
|
|
When you wish to start working on a code contribution, assign yourself to a GitHub issue.
|
|
If there is no issue, create one beforehand.
|
|
|
|
A quick summary on [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/):
|
|
|
|
1. Separate subject from body with a blank line
|
|
2. Limit the subject line to 50 characters
|
|
3. Capitalize the subject line
|
|
4. Do not end the subject line with a period
|
|
5. Use the imperative mood in the subject line
|
|
6. Wrap the body at 72 characters
|
|
7. Use the body to explain what and why vs. how
|
|
|
|
## Core repositories
|
|
|
|
### Corteza Server
|
|
|
|
Corteza server is the back-end of the Corteza ecosystem.
|
|
The core logic is written in GO, using [go-chi](https://pkg.go.dev/github.com/go-chi/chi@v3.3.4+incompatible?utm_source=gopls) for the routing.
|
|
|
|
Communication between the Corteza server and web applications is done using the REST API and web sockets.
|
|
Communication between back-end services (Corteza server and Corredor) is done using gRPC.
|
|
|
|
The [Developer Guide/Corteza Server](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/corteza-server/index.html) covers the [development setup](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/corteza-server/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/corteza-server/structure.html), and the feature insight documents.
|
|
|
|
|
|
### Corteza Web Applications
|
|
|
|
The web applications are written in Vue.js and provide the user interface to interact with the entire system.
|
|
|
|
Communication between the Corteza server and web applications is done using the REST API and web sockets.
|
|
|
|
The [Developer Guide/Corteza Web Applications](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/web-applications/index.html) covers the [development setup](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/web-applications/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/web-applications/structure.html), and the feature insight documents.
|
|
|
|
### Documentation
|
|
|
|
The documentation is written in [AsciiDoc](https://asciidoc.org/) and compiled using [Antora](https://antora.org/).
|
|
The source code is available on the [GitHub cortezaproject/corteza-docs repository](https://github.com/cortezaproject/corteza-docs); the generated output is available on the [documentation page](http://docs.cortezaproject.org/).
|
|
|
|
The [Developer Guide/Documentation](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/documentation/index.html) covers the [conventions](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/documentation/index.html#_conventions), [writing guidelines](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/documentation/index.html#documentation-writing-guidelines), as well as some [examples](https://docs.cortezaproject.org/corteza-docs/2023.9/developer-guide/documentation/examples/index.html) to help you get started.
|
|
|
|
## Bug reporting
|
|
|
|
Please submit any bug reports on the **issues** section of the corresponding GitHub repository.
|
|
If you are unsure where to submit the issue, or you are unsure if this is a feature; reach out to us on [our forum](https://forum.cortezaproject.org/).
|
|
|
|
## Feature requests
|
|
|
|
Feature and improvement requests should be submitted on [our forum](https://forum.cortezaproject.org/).
|
|
Before opening a new topic, search around to see if there are any similar topics that would cover your case.
|
|
|
|
## DCO
|
|
|
|
By contributing to this project you agree to the Developer Certificate of Origin (DCO).
|
|
This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution.
|
|
See the [DCO](DCO) file for details.
|