Запуск сервера
- Настраиваем env file --->
migrate -path /internal/infrastructure/migrations -database "postgresql://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{DB_NAME}?sslmode=disable" -verbose up--->cd cmd/ShtrafovNet--->go run . - Собрать и запустить докер образ
docker build . --file Dockerfile -t app:latest--->docker-compose up - Или просто использовать Makefile
make up
Auntification. Интересно было реализовывать полноценную чистую архитектуру: программа разделена на 4 слоя - доменный - основные структуры, методы и интерфейсы, инфраструктурны - взаимодействие со сторонними сервисами, приложение - основной слой и слой презентации - ручки для GRPC и REST API
/ShtrafovNet
│
├── /api
│ └── /swagger.yml
├── /cmd
│ └── /ShtrafovNet
│ └── main.go - ОСНОВНОЙ ПАКЕТ
| └── config.env - файл конфигурации
|
├── /internal
│ └── /domain
│ | └── entity - пакет основных сущностей
│ | └── errors - ошибки доменного слоя
│ | └── interfaces
│ | └── odt - структуры для обмена данными между слоями
│ | └── service - ключевые методы
| |
│ └── /infrastructure
│ | └── errors - ошибки инфраструктурного слоя
│ | └── migrations - файлик с миграциями бд
│ | └── repository - реалезации интерфейсов из доменного слоя для интеграции сторонних сервисов
| |
│ └── /application
│ | └── errors - ошибки слоя приложениия
│ | └── auction - функционал, связанные напрямую с аукционами
│ | └── config - подтягивает конфиги из env
│ | └── database - подключение к бд
│ | └── logger - имплементация логгера
│ | └── usesrs - функционал для определения пользователей
│ | └── workers - воркер
| |
│ └── /presentation
│ └── errors - ошибки слоя презентации
│ └── server - пакет релизующий grpc и grpc Gateway
|
├── /log
│ └── log.log - файл с логами
|
├── Dockerfile - файл создания образа докер
├── docker-compose.yml - подъем образа и базы данных
├── Makefile