Appearance
Backend
Процесс разработки новых методов/изменения существующего функционала
Документация
Методы, которые поддерживает сервис описаны в /docs/app/docs.yml
. Эта документация содержит схемы запросов и ответов, а также примеры запросов и ответов.
Структура проекта
Содержит точки входа в приложение
/internal/app
Пакет app содержит логику для создания экземпляра приложения. При этом создаются экземпляры всех компонентов приложения (controller, repository). После этого происходит запуск приложения при котором запускаются необходимые компоненты приложения.
/internal/constants
Константы
/internal/controller
Содержит логику получения запросов и формирования ответов
/internal/model
Основные модели приложения (domains)
/internal/repository
Содержит логику получения данных из других источников
/internal/service
Бизнес логика приложения
Ориентировался на проекты:
- https://github.com/golang-standards/project-layout
- https://github.com/evrone/go-clean-template
- https://github.com/bxcodec/go-clean-arch
- https://github.com/Creatly/creatly-backend
Форматы http запроса и ответа
Тело запроса:
json
{
"meta": {},
"data": {
// Данные, необходимые для запроса
}
}
Успешный ответ:
json
{
"success": true,
"data": {
// Данные ответа
}
}
Ошибка при обработке запроса:
json
{
"success": false,
"data": {},
"error": {
"code": "",
"description": "",
}
}