Skip to content
/ ddd-gin-admin Public template

This repository is a sample web application using DDD (Domain-Driven Design) architecture and Gin framework.

License

Notifications You must be signed in to change notification settings

linzhengen/ddd-gin-admin

Repository files navigation

ddd-gin-admin

English | 简体中文 | 日本語

This repository is a sample web application using DDD (Domain-Driven Design) architecture and Gin framework. Here's an overview of the features and technology stack provided in this repository.

golangci-lint

Features

This web application provides the following features:

  • User registration, login, and logout
  • User list display, detailed display, editing, and deletion
  • Access control based on roles (administrator, general user)
  • API documentation using Swagger

Technology Stack

This web application uses the following technology stack:

  • Golang
  • Gin - Web framework
  • GORM - ORM library
  • MySQL - Database
  • Swagger - API documentation generation tool
  • K8s / Skaffold / Docker - Containerization

DDD Architecture

  • Domain: This is where the domain and business logic of the application is defined.
  • Infrastructure: The infrastructure layer describes technical concerns such as DB access. This layer depends on the domain layer. Therefore, the infrastructure layer implements the interface defined in the repository of the domain layer.
  • Application: This layer serves as a passage between the domain and the interface layer. The sends the requests from the interface layer to the domain layer, which processes it and returns a response.
  • Interfaces: This layer holds everything that interacts with other systems, such as web services, RMI interfaces or web applications, and batch processing frontend.

Swagger UI

Compiles and hot-reloads for development

make skaffold-dev

Starting tunnel via minikube for service ddd-gin-admin-web

minikube service ddd-gin-admin-web --url -n ddd-gin-admin

Lint

make lint

Build binary

make build

references

About

This repository is a sample web application using DDD (Domain-Driven Design) architecture and Gin framework.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages