Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alex-nosov-itmo/carsproject


https://github.com/alex-nosov-itmo/carsproject

docker-compose gin golang goose postgres swagger

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Клиент-серверное приложение о машинах

Проект представляет клиент-серверное приложение о машинах и их владельцах. В основе проекта лежит RestAPI для взаимодействия сервера с БД(`PostgreSQL`). Реализованы миграции через библиотеку `Goose`. Использовал библиотеку `Gin` для взаимодействия с серверной частью приложения. API задокументировал при помощи `Swagger` (`OpenAPI 2.0`). Также реализовано mock-тестировние.

Для запуска нужно создать файл `.env` в корне приложения с несколькими переменными окружения.

Пример переменных:

* POSTGRES_USER=postgres
* POSTGRES_PASSWORD=postgres
* POSTGRES_HOST=localhost
* POSTGRES_PORT=5432
* POSTGRES_DB=postgres

Для инициализации документации выполнить следующие команды

```

//go install github.com/swaggo/swag/cmd/[email protected]
//swag init -g cmd/main.go --parseDependency --parseInternal -d ./,internal/db,pkg/handlers - to generate docs

```

Для запуска приложения выполнить команду
```
docker compose up
```

В перспективе планируется:
* Реализовать юнит и интеграционные тесты
* Поддержка RabbitMQ
* Middleware для авторизации