https://github.com/go-eagle/eagle
đŚ
A Go framework for the API or Microservice
https://github.com/go-eagle/eagle
cloud-native eagle framework gin go golang gorm grpc http microservice restful
Last synced: 2 days ago
JSON representation
đŚ A Go framework for the API or Microservice
- Host: GitHub
- URL: https://github.com/go-eagle/eagle
- Owner: go-eagle
- License: mit
- Created: 2018-07-05T15:18:41.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T07:05:16.000Z (6 months ago)
- Last Synced: 2024-10-29T15:21:28.936Z (6 months ago)
- Topics: cloud-native, eagle, framework, gin, go, golang, gorm, grpc, http, microservice, restful
- Language: Go
- Homepage: https://go-eagle.org
- Size: 5.51 MB
- Stars: 2,112
- Watchers: 27
- Forks: 232
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-star - eagle - eagle.org/ | go-eagle | 1347 | (Go)
- awesome-golang-repositories - eagle
- awesome-hacking-lists - go-eagle/eagle - đŚ A Go framework for the API or Microservice (Go)
- awesome-go - go-eagle - A Go framework for the API or Microservice with handy scaffolding tools. Stars:`2.3K`. (Distributed Systems / Search and Analytic Databases)
- awesome-arsenal - go-eagle - 垎ćĺĄćĄćśă (ćŚĺ¨ĺş / ĺ獯)
- my-awesome - go-eagle/eagle - native,eagle,framework,gin,go,golang,gorm,grpc,http,microservice,restful pushed_at:2025-03 star:2.3k fork:0.2k đŚ A Go framework for the API or Microservice (Go)
- trackawesomelist - go-eagle (â2.2k) - A Go framework for the API or Microservice with handy scaffolding tools. (Recently Updated / [Dec 17, 2024](/content/2024/12/17/README.md))
README
# đŚ eagle
[](https://github.com/go-eagle/eagle)
[](https://codecov.io/gh/go-eagle/eagle)
[](https://golangci.com)
[](https://godoc.org/github.com/go-eagle/eagle)
[](https://gitter.im/go-eagle/eagle?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
![]()
[](https://goreportcard.com/report/github.com/go-eagle/eagle)
[](https://github.com/carloscuesta/gitmoji)
[](/LICENSE)A Go framework suitable for rapid business development, which can quickly build API services or Web sites.
English | [ä¸ćć楣](https://github.com/go-eagle/eagle/blob/master/README_ZH.md)## Features
- API framework [gin](https://github.com/gin-gonic/gin)
- RPC framework [gRPC](https://github.com/grpc/grpc-go)
- Configuration [viper](https://github.com/spf13/viper)
- Logging component [zap](https://github.com/uber-go/zap)
- Database ORM component [gorm](https://github.com/go-gorm/gorm) | [MongoDB](https://github.com/mongodb/mongo-go-driver)
- Search component [Elasticsearch](https://github.com/elastic/go-elasticsearch)
- Cache component [go-redis](https://github.com/go-redis/redis), [ristretto](https://github.com/dgraph-io/ristretto)
- Message Queue [Rabbitmq](https://github.com/rabbitmq/amqp091-go) | [redis](https://github.com/hibiken/asynq)
- Authentication [JWT](https://jwt.io/)
- Parameter Validator [validator](https://github.com/go-playground/validator)
- Scheduled tasks [cron](https://github.com/robfig/cron)
- Metrics monitoring [prometheus](https://github.com/prometheus/client_golang/prometheus), [grafana](https://github.com/grafana/grafana)
- Distributed Tracing [opentelemetry](https://github.com/open-telemetry/opentelemetry-go)
- Service registration and discovery [etcd](https://github.com/etcd-io/etcd) | [consul](https://github.com/hashicorp/consul) | [nacos](https://github.com/alibaba/nacos)
- Unit Test [GoConvey](https://github.com/smartystreets/goconvey)
- Lint [GolangCI-lint](https://golangci.com/)
- CI/CD [GitHub Actions](https://github.com/actions), [docker](https://www.docker.com/), [kubernetes](https://github.com/kubernetes/kubernetes)## Framework Layered Architecture
## Logic Layered Architecture
Eagle utilizes a classic layered structure and employs the Wire dependency injection framework to enhance modularity and reduce coupling between components.
[](https://starchart.cc/go-eagle/eagle)
## Directory Structure
```shell
âââ Makefile
âââ api
âââ cmd
âââ config
âââ docs
âââ internal
â âââ cache
â âââ handler
â âââ middleware
â âââ model
â âââ dao
â âââ ecode
â âââ routers
â âââ server
â âââ service
âââ logs
âââ main.go
âââ pkg
âââ test
âââ scripts
```## Installtion CLI
```bash
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
```bash
# gen a server with http and gRPC
eagle new eagle-demo
# or
eagle new github.com/foo/eagle-demo# install dependence
go mod tidy# run
make run
```## Documentation
[https://go-eagle.org/](https://go-eagle.org/)
## CHANGELOG
- [CHANGELOG](https://github.com/go-eagle/eagle/blob/master/CHANGELOG.md)
## Who is using
- [1024casts](https://1024casts.com)
- [FastIM](https://github.com/1024casts/fastim)
- [Go-microservice](https://github.com/go-microservice)## Discussion
- Issue: https://github.com/go-eagle/eagle/issues
- Discord: https://discord.com/channels/968369660900814869## 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
[](https://starchart.cc/go-eagle/eagle)
## License
MIT. See the [LICENSE](LICENSE) file for details.