Skip to content

go-eagle/eagle

Repository files navigation

πŸ¦… eagle

GitHub Workflow Status codecov GolangCI godoc Gitter OpenTracing Badge Go Report Card gitmoji License

A Go framework suitable for rapid business development, which can quickly build API services or Web sites.
English | δΈ­ζ–‡ζ–‡ζ‘£

Features

Framework Layered Architecture

eagle-framework-diagram

Logic Layered Architecture

Eagle utilizes a classic layered structure and employs the Wire dependency injection framework to enhance modularity and reduce coupling between components.

Leagle Layout Arch

Directory Structure

β”œβ”€β”€ Makefile                     
β”œβ”€β”€ api                          
β”œβ”€β”€ cmd                          
β”œβ”€β”€ config                       
β”œβ”€β”€ docs                         
β”œβ”€β”€ internal                     
β”‚   β”œβ”€β”€ cache                    
β”‚   β”œβ”€β”€ handler                  
β”‚   β”œβ”€β”€ middleware               
β”‚   β”œβ”€β”€ model                    
β”‚   β”œβ”€β”€ dao                      
β”‚   β”œβ”€β”€ ecode                    
β”‚   β”œβ”€β”€ routers                  
β”‚   β”œβ”€β”€ server                   
β”‚   └── service                  
β”œβ”€β”€ logs                         
β”œβ”€β”€ main.go                      
β”œβ”€β”€ pkg                          
β”œβ”€β”€ test                         
└── scripts                      

Installtion CLI

GOPROXY="https://goproxy.cn,direct"

# go >= 1.16
go install github.com/go-eagle/eagle/cmd/eagle@latest

# go < 1.16
go get github.com/go-eagle/eagle/cmd/eagle

Quick Start

# only gen a server with http
eagle new eagle-demo
# or 
eagle new github.com/foo/eagle-demo

# gen a server with http and gRPC
eagle new -b=main eagle-demo
# or 
eagle new github.com/foo/eagle-demo

# install dependence
go mod tidy

# run
make run

Documentation

https://go-eagle.org/

CHANGELOG

Who is using

Discussion

Microservice Roadmap

Microservice-roadmap

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  • Fork the repository to your own GitHub account.
  • Create a new branch for your changes.
  • Make your changes to the code.
  • Commit your changes and push the branch to your forked repository.
  • Open a pull request on our repository.

Stargazers over time

Stargazers over time

License

MIT. See the LICENSE file for details.