Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/alex-nosov-itmo/carsproject
- Owner: Alex-Nosov-ITMO
- Created: 2024-06-30T03:04:38.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-30T09:09:24.000Z (7 months ago)
- Last Synced: 2024-10-15T17:21:57.957Z (3 months ago)
- Topics: docker-compose, gin, golang, goose, postgres, swagger
- Language: Go
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 для авторизации