В директории api
находятся обработчики реализованного API веб-сервера.
В директории cmd
находится файл main.go.
В директории config
происходит загрузка переменных окружения из файла config.env и инициализация структуры конфигурации.
В директории docs
находится пользовательская документация Swagger.
В директории model
находятся общие для всего приложения константы и описание общих объектов.
В директории repository
находится весь функционал работы с БД.
В директории test
находятся тесты для проверки API.
В директории usecases
находится бизнес логика приложения.
Приложение поделено на независимые слои: Транспорт, Бизнес-логика, Работа с БД. Тем самым реализована чистая архитектура.
В файле config.env
задаются значения переменных окружений:
PORT
- порт. Пример "7540", "8080".LOGLEVEL
- уровень логирования. Пример "INFO", "DEBUG".DB_PORT
- порт базы данных. Пример "5432".DB_USER
- пользователь для подключения к базе данных. Пример "user".DB_PASSWORD
- пароль для подключения к базе данных. Пример "password".DB_NAME
- имя базы данных. Пример "wallet_db".
В файле test_config.env
задаются значения переменных окружений:
DB_HOST
- Хост базы данных.DB_PORT
- порт тестовой базы данных. Пример "5433".DB_USER
- пользователь для подключения к тестовой базе данных. Пример "user".DB_PASSWORD
- пароль для подключения к тестовой базе данных. Пример "password".DB_NAME
- имя тестовой базы данных. Пример "test_db".
Запуск проекта через докер:
- запуск проекта:
make dk-start