Alex Shevchuk ad72aa2a5e
Some checks failed
Deploy Production / Deploy to Staging (push) Has been skipped
Go Linter / Build golang services (api_gateway) (push) Has been cancelled
Go Linter / Push Docker Images (api_gateway) (push) Has been cancelled
Go Linter / Run golangci-lint (api_gateway) (push) Has been cancelled
4
2025-08-18 17:21:38 +03:00
2
2025-08-18 17:14:27 +03:00
4
2025-08-18 17:21:38 +03:00
1
2025-08-18 17:12:04 +03:00
1
2025-08-18 17:12:04 +03:00
2
2025-08-18 17:14:27 +03:00
1
2025-08-18 17:12:04 +03:00
4
2025-08-18 17:21:38 +03:00
1
2025-08-18 17:12:04 +03:00
1
2025-08-18 17:12:04 +03:00
1
2025-08-18 17:12:04 +03:00
1
2025-08-18 17:12:04 +03:00
1
2025-08-18 17:12:04 +03:00

Molva Backend

Backend сервис для платформы Molva, написанный на Go.

Требования

  • Go 1.24+
  • Docker (опционально)
  • Git

Установка и настройка

1. Клонирование репозитория

git clone <repository-url>
cd molva-backend

2. Установка зависимостей

go mod download

3. Установка инструментов разработки

make install-tools

Запуск проекта

Локальная разработка

Для запуска в режиме разработки:

make run

По умолчанию проект запускается с конфигурацией:

  • Конфигурация: .build/config/
  • Окружение: local

Изменение параметров запуска

Вы можете изменить параметры запуска:

# Изменение пути к конфигурации
make run CONFIG_PATH=...

# Изменение окружения
make run ENV=...

# Изменение обоих параметров
make run CONFIG_PATH=... ENV=...

Сборка проекта

Сборка для всех платформ

make build

Эта команда создаст исполняемые файлы для:

  • Linux (amd64, arm64)
  • macOS (amd64, arm64)
  • Windows (amd64, arm64)

Файлы будут сохранены в директории bin/ с именами:

  • molva-app-backend_linux_amd64
  • molva-app-backend_linux_arm64
  • molva-app-backend_darwin_amd64
  • molva-app-backend_darwin_arm64
  • molva-app-backend_windows_amd64.exe
  • molva-app-backend_windows_arm64.exe

Сборка для конкретной платформы

# Только для Linux
make build-linux

# Только для macOS
make build-darwin

# Только для Windows
make build-windows

Docker

Для сборки Docker образа:

make docker-build

Образ будет создан с тегом molva-app-backend:$(VERSION), где VERSION - это git tag или "v0.0.0" по умолчанию.

Разработка

Проверка кода

Перед коммитом рекомендуется запустить линтер:

make lint

Очистка

Для удаления скомпилированных файлов:

make clean

Структура проекта

molva-backend/
├── bin/                    # Скомпилированные файлы
├── cmd/
│   └── main.go           # Точка входа приложения
├── internal/              # Внутренние пакеты
│   ├── auth/             # Аутентификация
│   ├── broker/           # Message broker
│   ├── cache/            # Кэширование
│   ├── config/           # Конфигурация
│   ├── database/         # Работа с БД
│   ├── feed/             # Лента
│   ├── file_manager/     # Управление файлами
│   ├── form_generator/   # Генератор форм
│   ├── http/             # HTTP handlers
│   ├── integration/      # Интеграции
│   ├── logger/           # Логирование
│   ├── notifications/    # Уведомления
│   ├── object_storage/   # Объектное хранилище
│   ├── request_model/    # Модели запросов
│   ├── services/         # Сервисы
│   ├── types/            # Типы данных
│   └── url_shortener/    # Сокращение URL
├── Dockerfile
├── go.mod
├── Makefile
└── README.md

Конфигурация

Проект использует конфигурационные файлы в формате YAML. По умолчанию они находятся в директории .build/config/.

Структура конфигурации:

  • local.yaml - для локальной разработки
  • staging.yaml - для dev окружения
  • production.yaml - для production окружения

Переменные сборки

Приложение включает следующие переменные сборки:

  • version - версия приложения (git tag)
  • commit - хеш коммита
  • date - дата сборки
Description
Just for test of new deploy
Readme 7.5 MiB
Languages
JavaScript 85.7%
Go 14.1%