3
0

Rework README and CONTRIBUTING

This commit is contained in:
Tomaž Jerman 2021-05-25 13:56:16 +02:00
parent 670b160945
commit a31603ee3c
4 changed files with 237 additions and 52 deletions

BIN
.github/assets/corteza_dashboard.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

71
.github/assets/corteza_logo.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -1,52 +1,75 @@
# How to Contribute
# Contributing
Corteza projects are [Apache 2.0 licensed](LICENSE) and accept contributions via
GitHub pull requests. This document outlines some of the conventions on
development workflow, commit message formatting, contact points and other
resources to make it easier to get your contribution accepted.
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!
# Certificate of Origin
## Ground Rules
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.
Corteza projects are [Apache 2.0 licensed](LICENSE) and accept contributions via GitHub pull requests.
# Getting Started
Cover the [terminology](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/release-cycle/index.html#_terminology) for the development process and versioning.
- Fork the repository on GitHub
- Read the [Wiki](https://github.com/cortezaproject/corteza-server/wiki) for build and test instructions
- Play with the project, submit bugs, submit patches!
Cover the [Git and GitHub](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/release-cycle/index.html#_github) ground rules regarding branch naming and conventions.
## Contribution Flow
When you wish to start working on a code contribution, assign yourself to a GitHub issue.
If there is no issue, create one beforehand.
This is a rough outline of what a contributor's workflow looks like:
A quick summary on [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/):
- Create a topic branch from where you want to base your work (usually master).
- Make commits of logical units.
- Make sure your commit messages are in the proper format (see below).
- Push your changes to a topic branch in your fork of the repository.
- Make sure the tests pass, and add any new tests as appropriate.
- Submit a pull request to the original repository.
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
Thanks for your contributions!
## Core repositories
### Format of the Commit Message
### Corteza Server
See [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
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.
Summary of the article and the seven rules of a great Git commit message
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.
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
The [Developer Guide/Corteza Server](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/corteza-server/index.html) covers the [development setup](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/corteza-server/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/corteza-server/structure.html), and the feature insight documents.
We are not terribly strict against a particular commit message format, but
the general rule is to avoid non-descriptive single-word commit messages like "fix".
We might ask you to rewrite/rebase your commit messages if they land too far from the
rules above.
### Corteza Web Applications
The web applications are written in Vue.js and provide the user interface to interact with the entire system.
The repositories:
1. [corteza-webapp-one](https://github.com/cortezaproject/corteza-webapp-one)
2. [corteza-webapp-admin](https://github.com/cortezaproject/corteza-webapp-admin)
3. [corteza-webapp-compose](https://github.com/cortezaproject/corteza-webapp-compose)
4. [corteza-webapp-workflow](https://github.com/cortezaproject/corteza-webapp-workflow)
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/2021.6/developer-guide/web-applications/index.html) covers the [development setup](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/web-applications/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2021.6/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/2021.6/developer-guide/documentation/index.html) covers the [conventions](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/documentation/index.html#_conventions), [writing guidelines](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/documentation/index.html#documentation-writing-guidelines), as well as some [examples](https://docs.cortezaproject.org/corteza-docs/2021.6/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.

121
README.md
View File

@ -1,21 +1,112 @@
[![Build Status](https://drone.crust.tech/api/badges/cortezaproject/corteza/status.svg)](https://drone.crust.tech/cortezaproject/corteza)
[![Go Report Card](https://goreportcard.com/badge/github.com/cortezaproject/corteza-server)](https://goreportcard.com/report/github.com/cortezaproject/corteza-server)
<h1 align="center">
<img width="300px" src=".github/assets/corteza_logo.svg" />
<br />
<p>Corteza Server</p>
# What is Corteza?
<div align="center">
Corteza brings your user ecosystem and essential applications together on one
platform, unifying them via CRM, Advanced Identity and
Access Management.
[![DockerHub Downloads Card](https://img.shields.io/docker/pulls/cortezaproject/corteza-server)](https://img.shields.io/docker/pulls/cortezaproject/corteza-server)
[![Latest Version Card](https://img.shields.io/github/v/tag/cortezaproject/corteza-server?label=stable%20version)](https://img.shields.io/github/v/tag/cortezaproject/corteza-server?label=stable%20version)
[![License Card](https://img.shields.io/github/license/cortezaproject/corteza-server)](https://img.shields.io/github/license/cortezaproject/corteza-server)
**Corteza CRM**
Corteza CRM is the highly flexible, scalable and open source Salesforce alternative, that enables your team to sell faster. It provides a 360 degree view of your customers, enabling you to service your prospects better and detect new opportunities.
[![Go Report Card](https://goreportcard.com/badge/github.com/cortezaproject/corteza-server)](https://goreportcard.com/report/github.com/cortezaproject/corteza-server)
[![Build Status](https://drone.crust.tech/api/badges/cortezaproject/corteza/status.svg)](https://drone.crust.tech/cortezaproject/corteza)
[![CodeCov Report Card](https://img.shields.io/codecov/c/github/cortezaproject/corteza-server)](https://img.shields.io/codecov/c/github/cortezaproject/corteza-server)
**Corteza Low Code**
Corteza Low Code is the flexible and easy to use open source Low Code Development platform for custom web based business applications, with drag and drop builder features, integrated Identity, Access and Privacy Management, and powerful automation options. Corteza CRM is based on Low Code.
</div>
</h1>
**Corteza One**
Corteza One manages the user experience for Corteza applications, such as CRM, and Low Code, as well as providing an integrated interface for third party or other bespoke applications. 100% responsive and with an intuitive design, Corteza One increases productivity and ease of access to all IT resources.
<br />
# Documentation
You can find more documentation about Corteza CLI, setup, deployment, authentication
in [corteza-docs](https://github.com/cortezaproject/corteza-docs) GitHub repository.
**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.
External communication occurs via the **REST API and web sockets**; internal communication happens via gRPC.
Non-binary data is handled by the store layer and stored inside a database; currently **MySQL and PostgreSQL**.
We will add support for additional databases in the future.
Binary data is handled locally or on a supported cloud provider using [MinIO](https://min.io/).
<br />
## What is Corteza?
<div align="center">
<img style="max-height: 350px;" src=".github/assets/corteza_dashboard.png" />
</div>
Corteza is the only **100% free**, **open-source**, **standardized** and **enterprise-grade** Low-code platform.
It is developed entirely in the public domain and maintained by [Crust Technology](https://www.crust.tech/), its founder.
With Corteza, you can quickly **build scalable cloud applications** that are **integrable** with external services and **accessible (WCAG 2.1)**.
### Core features:
* quick setup,
* flexible and intuitive low-code configuration,
* powerful automation system using workflows and automation scripts,
* flexible reporting capabilities,
* secure RBAC access control system.
## Online demo
You can check out Corteza online by creating an account on our community instance https://latest.cortezaproject.org.
## Deploying Corteza
Refer to the [DevOps guide](https://docs.cortezaproject.org/corteza-docs/2021.6/devops-guide/index.html) for a complete guide on how to get Corteza up and running.
Additionally, we've provided some [video instructions](https://forum.cortezaproject.org/t/videos-on-how-to-set-up-corteza/91).
Quick references:
* [data backup and restore](https://docs.cortezaproject.org/corteza-docs/2021.6/devops-guide/maintenance/backups.html)
* [troubleshooting](https://docs.cortezaproject.org/corteza-docs/2021.6/devops-guide/maintenance/troubleshooting.html)
* [setting up an email relay](https://docs.cortezaproject.org/corteza-docs/2021.6/devops-guide/extension-requirements/email-relay.html)
* [setting up sink routes](https://docs.cortezaproject.org/corteza-docs/2021.6/devops-guide/extension-requirements/sink-route.html)
## Upgrading Corteza
[![Latest Version Card](https://img.shields.io/github/v/tag/cortezaproject/corteza-server?label=latest%20stable%20version)](https://img.shields.io/github/v/tag/cortezaproject/corteza-server?label=latest%20stable%20version)
Refer to the [changelog](https://docs.cortezaproject.org/corteza-docs/2021.6/changelog/index.html) and the [upgrade guide](https://docs.cortezaproject.org/corteza-docs/2021.6/upgrade-guide/index.html) to upgrade your Corteza instance.
## Using Corteza
Refer to the [End-User Guide](https://docs.cortezaproject.org/corteza-docs/2021.6/end-user-guide/index.html) to learn the built-in applications and features from the end-user perspective.
Quick references:
* [Corteza CRM](https://docs.cortezaproject.org/corteza-docs/2021.6/end-user-guide/crm/index.html)
* [Corteza Service Solution](https://docs.cortezaproject.org/corteza-docs/2021.6/end-user-guide/service-solution/index.html)
## Create with Corteza
Refer to the [Integrator Guide](https://docs.cortezaproject.org/corteza-docs/2021.6/integrator-guide/index.html) to learn how you can build on the core features to create virtually anything.
Quick references:
* [Corteza Compose configuration](https://docs.cortezaproject.org/corteza-docs/2021.6/integrator-guide/compose-configuration/index.html)
* automation using [workflows](https://docs.cortezaproject.org/corteza-docs/2021.6/integrator-guide/workflows/index.html) and [automation scripts](https://docs.cortezaproject.org/corteza-docs/2021.6/integrator-guide/automation-scripts/index.html)
* [using the REST API](https://docs.cortezaproject.org/corteza-docs/2021.6/integrator-guide/accessing-corteza/index.html),
## Contributing
Refer to the [Developer Guide/Corteza Server](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/corteza-server/index.html) document for details regarding the [development setup](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/corteza-server/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2021.6/developer-guide/corteza-server/structure.html), and the feature insight documents.
Refer to the [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines and code of conduct.
Quick command reference:
* run server: `make watch` or `make realize`
* run unit tests: `make test.unit`
* run integration tests: `make test.integration`
* run all tests `make test.all`
* run MailHog (local SMTP server): `make mailhog.up` (requires Docker)
## Community
Reach out to us on [our forum](https://forum.cortezaproject.org/).
## License
Corteza is released under the Apache-2.0 license.
Refer to the [LICENSE](LICENSE) file for additional information.