1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lyric-gin-admin

Клонировать/Скачать
README.md 4.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 22:27 5bc64cf

GIN-Admin

Лёгкий, гибкий, элегантный и полнофункциональный каркас RBAC на основе GIN + GORM 2.0 + Casbin 2.0 + Wire DI.

Особенности:

  • Следование спецификации RESTful API и спецификации программирования на основе интерфейса.
  • Более лаконичная структура проекта, модульный дизайн, улучшенная читаемость и удобство сопровождения кода.
  • Поддержка богатого набора промежуточного ПО на базе фреймворка GIN (JWTAuth, CORS, RequestLogger, RequestRateLimiter, TraceID, Casbin, Recover, GZIP, StaticWebsite).
  • Модель контроля доступа на основе RBAC с использованием Casbin.
  • Слой доступа к базе данных на основе GORM 2.0.
  • Внедрение зависимостей на основе WIRE — роль внедрения зависимостей заключается в решении проблемы громоздкой инициализации иерархических зависимостей между модулями.
  • Вывод логов на основе Zap & Context, а также унифицированный вывод ключевых полей, таких как TraceID/UserID, с помощью комбинации с Context (также поддерживается запись лог-хуков в GORM).
  • Аутентификация пользователей на основе JWT.
  • Автоматическое создание документации Swagger на основе Swaggo — предварительный просмотр.
  • Реализация модульного тестирования API на основе testify.
  • Без сохранения состояния, горизонтально масштабируемый сервис, повышающий доступность услуг — динамическое управление разрешениями Casbin реализуется через запланированные задачи и Redis.
  • Полноценные инструменты повышения эффективности, позволяющие разрабатывать полные модули кода через конфигурацию — gin-admin-cli.

Frontend:

Зависимости:

  • Go 1.19+.
  • Wire go install github.com/google/wire/cmd/wire@latest.
  • Swag go install github.com/swaggo/swag/cmd/swag@latest.
  • GIN-ADMIN-CLI go install github.com/gin-admin/gin-admin-cli/v10@latest.

Быстрый старт:

  • Создание нового проекта:
gin-admin-cli new -d ~/go/src --name testapp --desc 'A test API service based on golang.' --pkg 'github.com/xxx/testapp'
  • Запуск сервиса:
cd ~/go/src/testapp
make start
# или
go run main.go start
  • Генерация нового модуля:

Для получения более подробных инструкций по использованию обратитесь к gin-admin-cli.

gin-admin-cli gen -d . -m CMS --structs Article --structs-comment 'Article management'
  • Удаление модуля:
gin-admin-cli rm -d . -m CMS --structs Article
  • Сборка сервиса:
make build
# или
go build -ldflags "-w -s -X main.VERSION=v1.0.0" -o ginadmin
  • Генерация документации swagger:
make swagger
# или
swag init --parseDependency --generalInfo ./main.go --output ./internal/swagger
  • Генерация wire inject:
make wire
# или
wire gen ./internal/wirex

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

├── cmd
│   ├── start.go
│   └── stop.go

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lyric-gin-admin.git
git@api.gitlife.ru:oschina-mirror/lyric-gin-admin.git
oschina-mirror
lyric-gin-admin
lyric-gin-admin
main