First, `go fmt` must be applied for all Go-sources.
Also we use [golangci-lint](https://golangci-lint.run/) analysis tool. See [.golangci.yml](./.golangci.yml) for enabled linters. The linter is disabled for some fragments of old code using a comment in the format:
```go
// nolint:linter-name[,linter-name] // explanation why linter is disabled
```
Try do not exclude or disable any linters to avoid `golangci-lint` messages. FIX the code instead. __New code MUST meet__ the linter requirements!
## Proto format
As you know there is a tool named `clang-format` which able to format proto-sources. We use it too to support generic formatting. It is a part of [LLVM project](https://llvm.org/). After installing the tool make appropriate settings to your IDE to use `clang-format` on saving the proto-files.
## Generating Go sources
You have install several executables before generating required Go sources. To do this, run `go generate tools.go` (or `make bin-tools`) under the project root. Note, if you installed these tools for different project, you may need to reinstall it again here.
## Available automation
Run `make` under the project root without arguments to see provided actions that are automated already.
The Property service is intended to manage real estate objects data.
## Coding standards
## GRPC API
First, `go fmt` must be applied for all Go-sources.
Method | Scope | Description
-|-|-
Also we use [golangci-lint](https://golangci-lint.run/) analysis tool. See [.golangci.yml](./.golangci.yml) for enabled linters. The linter is disabled for some fragments of old code using a comment in the format:
(TODO: a more detailed description of the methods is needed)
```go
// nolint:linter-name[,linter-name] // explanation why linter is disabled
```
## GRPC coupling
Try do not exclude or disable any linters to avoid `golangci-lint` messages. FIX the code instead. __New code MUST meet__ the linter requirements!
Service | Use
-|-
Address |
Auth |
Account |
Contract |
Document |
Extras |
Geo |
Invoice |
Invitation |
Notification |
Offer |
Rightmove |
Schedule |
Zoopla |
## Proto format
## Databases
As you know there is a tool named `clang-format` which able to format proto-sources. We use it too to support generic formatting. It is a part of [LLVM project](https://llvm.org/). After installing the tool make appropriate settings to your IDE to use `clang-format` on saving the proto-files.
DBMS | Extensions
-|-
MongoDB | none
## Generating Go sources
Access abstraction:
You have install several executables before generating required Go sources. To do this, run `go generate tools.go` (or `make bin-tools`) under the project root. Note, if you installed these tools for different project, you may need to reinstall it again here.
Migrations:
## Available automation
## Observability
Run `make` under the project root without arguments to see provided actions that are automated already.
N/A
## Notes
The service is integrated with Zeebe, this may be removed in the future.