Update file README.md
This commit is contained in:
parent
8b8d74e5c5
commit
cbe4766ac6
@ -8,30 +8,29 @@
|
|||||||
├── docs - Директория с документацией
|
├── docs - Директория с документацией
|
||||||
├── internal - Директория с внутренним кодом приложения
|
├── internal - Директория с внутренним кодом приложения
|
||||||
├── migrations - Директория с миграциями изменений БД
|
├── migrations - Директория с миграциями изменений БД
|
||||||
├── pkg - Директория с общими пакетами приложения
|
├── pkg - Директория с общими пакетами приложения - пакеты общие между доменами выносим в common, общее в рамках домена - в pkg
|
||||||
├── proto - Директория с описанием прототипа интерфейса gRPC
|
├── proto - Директория с описанием прототипа интерфейса gRPC
|
||||||
├── tests - Директория с тестами проекта (integration/e2e)
|
├── tests - Директория с тестами проекта (integration/e2e)
|
||||||
├── .dockerignore - Файл для перечисления игнорирования докером файлов/директорий
|
├── .dockerignore - Файл для перечисления игнорирования докером файлов/директорий
|
||||||
├── .gitignore - Файл для перечисления игнорирования гитом файлов/директорий
|
├── .gitignore - Файл для перечисления игнорирования гитом файлов/директорий
|
||||||
├── .gitlab-ci.yml - Файл настройки Gitlab CI
|
├── .gitlab-ci.yml - Файл настройки Gitlab CI
|
||||||
├── .golangci.yaml - Файл настройки линтера для Golang
|
├── .golangci.yaml - Файл настройки линтера для Golang -- убрать, вынести в общий репозиторий, в хуки
|
||||||
├── .mockery.yaml - Файл настройки пакета mockery для генерации моков на Golang
|
├── .mockery.yaml - Файл настройки пакета mockery для генерации моков на Golang -- либо заменяем мокери, либо мок имиспользуем для внешних зависимостей или пустых сервисов
|
||||||
├── .buf.gen.yaml - https://buf.build/docs/configuration/v1/buf-gen-yaml
|
├── .buf.gen.yaml - https://buf.build/docs/configuration/v1/buf-gen-yaml
|
||||||
├── .buf.work.yaml - https://buf.build/docs/configuration/v1/buf-work-yaml/
|
├── .buf.work.yaml - https://buf.build/docs/configuration/v1/buf-work-yaml/
|
||||||
├── .buf.yaml - https://buf.build/docs/configuration/v1/buf-yaml/
|
├── .buf.yaml - https://buf.build/docs/configuration/v1/buf-yaml/ -- proto2swagger не используем
|
||||||
├── Dockerfile - Файл контейнеризации сервиса
|
|
||||||
├── go.mod - Корень управления зависимостями в GoLang
|
├── go.mod - Корень управления зависимостями в GoLang
|
||||||
├── go.sum - Файл содержащий хеши для нескольких версий модуля
|
├── go.sum - Файл содержащий хеши для нескольких версий модуля
|
||||||
├── Makefile - Набор команд
|
├── Makefile - Набор команд -- заменить на go-task
|
||||||
├── openapi.yaml - Файл описания REST документации в формате OpenAPI (swagger)
|
|
||||||
├── README.md - Общий файл документации (путеводитель)
|
├── README.md - Общий файл документации (путеводитель)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Структура `/cmd`:
|
## Структура `/cmd`:
|
||||||
|
|
||||||
```
|
```
|
||||||
├── [app name] - Название приложения (app)
|
├── [app name] - Название приложения (app) -- уходим от пракки некольких сервисов в одном репозитории, поэтому подкаталог делать не надо
|
||||||
│ ├── main.go - Точка входа в приложение
|
│ ├── main.go - Точка входа в приложение
|
||||||
|
│ ├── Dockerfile - Файл контейнеризации сервиса -- проверить возможность скопировать из корня проекта
|
||||||
```
|
```
|
||||||
|
|
||||||
## Структура `/docs`:
|
## Структура `/docs`:
|
||||||
@ -39,6 +38,7 @@
|
|||||||
```
|
```
|
||||||
├── [group] - Группа документации
|
├── [group] - Группа документации
|
||||||
│ ├── README.md - Файл документации
|
│ ├── README.md - Файл документации
|
||||||
|
├── openapi.yaml - Файл описания REST документации в формате OpenAPI (swagger)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Структура `/internal`:
|
## Структура `/internal`:
|
||||||
@ -48,27 +48,25 @@
|
|||||||
```
|
```
|
||||||
├── app - Пакет приложения
|
├── app - Пакет приложения
|
||||||
│ ├── [app name].go - Приложение
|
│ ├── [app name].go - Приложение
|
||||||
├── dto - Data Transfer Object
|
├── errors - Пакет для обработки и создания ошибок приложения (желательно вынести в pkg) -- 2 common, вынести как категоризатор ошибок и действий о них
|
||||||
│ ├── [group] - Группа DTO объектов
|
|
||||||
│ │ ├── [name].go - Название файла, содержащий структуры для DTO объектов
|
|
||||||
├── errors - Пакет для обработки и создания ошибок приложения (желательно вынести в pkg)
|
|
||||||
├── initialize - Пакет для инициализации модулей (контроллеров, репозиториев, клиентов)
|
├── initialize - Пакет для инициализации модулей (контроллеров, репозиториев, клиентов)
|
||||||
├── interface - Данная директория хранит адаптеры для взаимодействия с внешними сервисами
|
├── adapters - Данная директория хранит адаптеры для взаимодействия с внешними сервисами
|
||||||
│ ├── client - Пакет клиента для взаимодействия с другими приложениями (REST, gRPC)
|
│ ├── client - Пакет клиента для взаимодействия с другими приложениями (REST, gRPC)
|
||||||
│ │ ├── [name].go - Сам клиент
|
│ │ ├── [name].go - Сам клиент
|
||||||
│ ├── controller - Директория контроллеров
|
├── repository - Директория репозиториев для взаимодействия с базой данных -- если есть набор отдельных баз, то делаем отдельные подкаталоги
|
||||||
│ │ ├── [name] - Директория контроллера
|
│ ├── [name].go - Файл репозитория (user.go)
|
||||||
│ │ │ ├── mocks - Директория, которая хранит сгенерированные моки для контроллера
|
├── controller - Директория контроллеров
|
||||||
│ │ │ ├── [name].go - Сам контроллер. Хранит в себе обработчики внешних запросов
|
│ ├── [name] - Директория контроллера
|
||||||
│ │ │ ├── [name]_test.go - Файл тестов для контроллера
|
│ │ ├── mocks - Директория, которая хранит сгенерированные моки для контроллера
|
||||||
│ ├── repository - Директория репозиториев для взаимодействия с базой данных
|
│ │ ├── [name].go - Сам контроллер. Хранит в себе обработчики внешних запросов
|
||||||
│ │ ├── [name].go - Файл репозитория (user.go)
|
│ │ ├── [name]_test.go - Файл тестов для контроллера
|
||||||
├── models - Пакет моделей данных
|
├── models - Пакет моделей данных
|
||||||
│ ├── [name].go - Файл структур, которые относятся к определённой модели (user.go)
|
│ ├── [name].go - Файл структур, которые относятся к определённой модели (user.go)
|
||||||
├── proto - Директория, содержащая сгенерированные proto файлы
|
├── proto - Директория, содержащая сгенерированные proto файлы
|
||||||
├── server - Пакет хранящий инициализации серверов (http/tcp/grpc)
|
├── server - Пакет хранящий инициализации серверов (http/tcp/grpc) -- 2 common
|
||||||
│ ├── [name].go - Файл инициализации сервера (http/tcp/grpc)
|
│ ├── [name].go - Файл инициализации сервера (http/tcp/grpc)
|
||||||
├── utils - Пакет внутренних функций/утилит приложения
|
├── services - Пакет слоя бизнес логики
|
||||||
|
├── utils - Пакет внутренних функций/утилит приложения - не больше одного уровня вложенности
|
||||||
│ ├── [name].go - Утилита
|
│ ├── [name].go - Утилита
|
||||||
│ ├── [name]_test.go - Тесты утилиты
|
│ ├── [name]_test.go - Тесты утилиты
|
||||||
├── worker - Пакет, для запуска и инициализации воркеров
|
├── worker - Пакет, для запуска и инициализации воркеров
|
||||||
@ -78,6 +76,7 @@
|
|||||||
│ │ ├── [name]_test.go - Файл тестов воркера
|
│ │ ├── [name]_test.go - Файл тестов воркера
|
||||||
│ ├── run.go - Файл запуска воркеров
|
│ ├── run.go - Файл запуска воркеров
|
||||||
```
|
```
|
||||||
|
config? app
|
||||||
|
|
||||||
## Структура `/pkg`:
|
## Структура `/pkg`:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user