diff --git a/CODING.md b/CODING.md new file mode 100644 index 0000000000000000000000000000000000000000..b4b7e0501b32a88b20e8cd68df8dd1416d32e805 --- /dev/null +++ b/CODING.md @@ -0,0 +1,23 @@ +## Coding standards + +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. diff --git a/README.md b/README.md index 80461f1952d28456e8b053e676411c0c3a177ff2..813750b40e61f943e3477df0a2fab11929471fca 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,47 @@ -# Mashroom Property service +# Mashroom Property 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 + +Access abstraction: -## Generating Go sources +Migrations: -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. +## Observability -## Available automation +N/A -Run `make` under the project root without arguments to see provided actions that are automated already. +## Notes + +The service is integrated with Zeebe, this may be removed in the future.