https://github.com/cheesytech/basic-microservice
Just a basic template for a Go project
https://github.com/cheesytech/basic-microservice
Last synced: 10 months ago
JSON representation
Just a basic template for a Go project
- Host: GitHub
- URL: https://github.com/cheesytech/basic-microservice
- Owner: CheesyTech
- Created: 2022-07-11T14:35:21.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-19T09:57:28.000Z (almost 4 years ago)
- Last Synced: 2024-09-06T01:27:28.777Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 89.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
Описание папок/Архитектура:
- build - папка для deploy-конфигов, Docker-files
- cmd - для запуска исполняемых файлов, в нашем случае - app/main.go является входной точкой. В нем мы создаем config и прокидываем в app.Run.
- docs - сгенерированная документация.
- -----
- internal - внутренниий неимпортируемый код:
- -> app - содержит метод Run, в котором принимает config, настраивает наше приложение.
- -> config - содержит конфиги для приложения, http/ampq-серверов и т.п.
- -> entity - сущность, которая переходит между слоями и может изменять свое состояние.
- -> repository - работа с базой данных.
- -> service - содержит бизнес-логику, получает данные из repository
- -> transport - содержит папки для транспорта данных и похож на controller. Например: транспорт по http, ampq, grpc и т.д.
- -> -> http - транспорт данных(ендпоинты) по http.
- -> -> -> form - Сущности для загрузки и валидации данных.
- -> -> ampq - транспорт по ampq.
---
- migrations - содержит файлы миграции для базы данных.
- pkg - содержит пакеты, которые могут быть импортированны во вне. Например httpserver.
Пакеты для работы
- Gin Framework
- GORM ORM
Запуск локального окружения
- docker-compose --env-file ../../.env.example up -d