Categorygithub.com/roganovich/goland_api
repositorypackage
0.0.0-20250217194413-aaeef79d9d7a
Repository: https://github.com/roganovich/goland_api.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

Simple GO CRM API

Простое приложение на GO, предназначенное для подтверждения навыков построения архитектуры REST API

Краткое описание ТЗ

Реализовать приложение позволяющее пользователям бесплатно получать доступ к спортивным площадкам города

Доступные операции

  • Регистрация
  • Авторизация JWT
  • Работа с файлами
  • Работа с адресами (подсказки в заполнении адреса)
  • Работа со списками площадок и команд

Роль пользователя

  • Создание/Редактирование/Удаление карточки команды
  • TODO Приглашение в команду других пользователей
  • Бронирование площадки для игры

Роль Администратора

  • Создание/Редактирование/Удаление карточки площадки
  • Создание/Редактирование/Удаление карточки команды
  • TODO Редактирование/Удаление карточки пользователя

Консольные команды

Получить все зависимости

go get .

Собрать приложение

go build -v .

Запустить приложение

go run .

Запустить контейнер Postgres

docker compose up -d go_db

Собрать контейнер API

docker compose build

Запустить контейнер API

docker compose up go-app

Собрать контейнер API и запустить

docker-compose --env-file .env.local up --build

Зайти в контейнер

docker exec -it goland_api bash

Список контейнеров

docker ps -a

Список образов

docker images

Миграции

Создать файл миграции

migrate create -ext sql -dir db/migration -seq create_user_role

Выполнить

migrate -path db/migration -database "postgresql://postgres:postgres@localhost:5432/postgres?sslmode=disable" -verbose up

Документация OpenAPI

Сгенирировать Swagger

swag init