- support SSR and Single Page
- use Gin and Nuxt3
RBAC scaffolding based on GIN + Gorm 2.0 + CASBIN + WIRE (DI).
- Server Base on gin-admin
- Follow the
RESTful API
design specification - Use
Casbin
to implement fine-grained access to the interface design - Use
Wire
to resolve dependencies between modules - Provides rich
Gin
middlewares (JWTAuth,CORS,RequestLogger,RequestRateLimiter,TraceID,CasbinEnforce,Recover,GZIP) - Support
Swagger
go get -u github.com/cosmtrek/air
go get -u github.com/google/wire/cmd/wire
go get -u github.com/swaggo/swag/cmd/swag
- air -- Live reload for Go apps
- wire -- Compile-time Dependency Injection for Go
- swag -- Automatically generate RESTful API documentation with Swagger 2.0 for Go.
- Gin -- The fastest full-featured web framework for Go.
- GORM -- The fantastic ORM library for Golang
- Casbin -- An authorization library that supports access control models like ACL, RBAC, ABAC in Golang
- Wire -- Compile-time Dependency Injection for Go
git clone https://github.com/mlsjla/GinNuxt
cd server
go run cmd/main/main.go web -c ./configs/config.toml -m ./configs/model.conf --menu ./configs/menu.yaml
# Or use Makefile: make start
The database and table structure will be automatically created during the startup process. After the startup is successful, you can access the swagger address through the browser: http://127.0.0.1:10088/swagger/index.html
swag init --parseDependency --generalInfo ./cmd/${APP}/main.go --output ./internal/app/swagger
# Or use Makefile: make swagger
wire gen ./internal/app
# Or use Makefile: make wire
├── cmd
│ └── gin-nuxt-server
│ └── main.go
├── configs
│ ├── config.toml
│ ├── menu.yaml
│ └── model.conf
├── docs
├── internal
│ └── app
│ ├── api
│ ├── config
│ ├── contextx
│ ├── dao
│ ├── ginx
│ ├── middleware
│ ├── module
│ ├── router
│ ├── schema
│ ├── service
│ ├── swagger
│ ├── test
├── pkg
│ ├── auth
│ │ └── jwtauth
│ ├── errors
│ ├── gormx
│ ├── logger
│ │ ├── hook
│ └── util
│ ├── conv
│ ├── hash
│ ├── json
│ ├── snowflake
│ ├── structure
│ ├── trace
│ ├── uuid
│ └── yaml
└── scripts
Web based on - Nuxt3. We recommend to look at the documentation.
Make sure to install the dependencies
yarn install
Start the development server on http://localhost:3000
yarn dev
Build the application for production:
yarn build
Checkout the deployment documentation.