Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/go-goyave/goyave
🍐 Elegant Golang REST API Framework (v5 release candidate available)
https://github.com/go-goyave/goyave
api backend framework go golang http rest web-framework
Last synced: 3 months ago
JSON representation
🍐 Elegant Golang REST API Framework (v5 release candidate available)
- Host: GitHub
- URL: https://github.com/go-goyave/goyave
- Owner: go-goyave
- License: mit
- Created: 2019-10-21T09:44:34.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-29T10:36:15.000Z (9 months ago)
- Last Synced: 2024-05-01T16:21:31.359Z (9 months ago)
- Topics: api, backend, framework, go, golang, http, rest, web-framework
- Language: Go
- Homepage: https://goyave.dev
- Size: 10.1 MB
- Stars: 1,415
- Watchers: 28
- Forks: 59
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-go - Goyave - Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities. Stars:`1.7K`. (Web Frameworks / Utility/Miscellaneous)
- awesome-golang-repositories - goyave
- awesome-go-extra - goyave - 10-21T09:44:34Z|2022-08-16T09:47:47Z| (Web Frameworks / Fail injection)
- my-awesome - go-goyave/goyave - framework pushed_at:2024-12 star:1.6k fork:0.1k 🍐 The enterprise REST API framework (Go)
- jimsghstars - go-goyave/goyave - 🍐 The enterprise REST API framework (Go)
README
## The enterprise REST API framework
**Goyave** an **opinionated** all-in-one Golang web framework focused on **REST APIs**, with emphasis on code **reliability**, **maintainability** and **developer experience** (DX).
In short, Goyave's **goals** are:
- Catering to companies with enterprise-level clean architecture, for medium to large projects
- Help developers focus on the business logic of their application instead of spending time on technical aspects
- Provide an all-in-one package with no setup friction
- Provide all the features a typical project needs without bloating or magic
- Provide an optimal setup for the real-world
- Ensure robust, reliable and resilient code
- Stay open and hackable despite being opinionated
- Make backend development easy and enjoyable
- Keep a clear and extensive documentation so developers can always find the answer to their questionsGoyave's **non-goals** are:
- Hyper-optimisation and performance
- Small projects and prototypes
- Providing control on low-level networking
- Providing tools for front-end developmentIf you feel like the above description fits your needs, **welcome**! Feel free to read the full documentation on [goyave.dev](https://goyave.dev/). This website contains the **documentation** and **guides** on how to use the framework to its fullest, so you can start creating value for your business.
You can also take a look at the [example project](https://github.com/go-goyave/goyave-blog-example).
## Features
Routing, Controllers, Middleware, Request parsing, Advanced validation, Business transactions, Authentication, Configuration, Testing utilities, Database support and ORM, Localization, Advanced error handling, Structured logging, CORS, Support for file systems, Websockets, Dynamic filtering and pagination using query parameters, DTO conversion and model mapping, and the list goes on...
If you want to learn more, all features are documented on [goyave.dev](https://goyave.dev/).
## Contributing
Thank you for considering contributing to the Goyave framework! You can find the contribution guide in the [documentation](https://goyave.dev/contributing.html).
For financial support, you can support me on Github Sponsor: [❤ Sponsor me!](https://github.com/sponsors/System-Glitch)
I'm very grateful to my patrons, sponsors and donators:
- Ben Hyrman
- Massimiliano Bertinetti
- ethicnology
- Yariya
- sebastien-d-me
- Nebojša Koturović### Contributors
A big "Thank you" to the Goyave contributors:
- [Kuinox](https://github.com/Kuinox) (Powershell install script)
- [Alexandre GV.](https://github.com/alexandregv) (Install script MacOS compatibility)
- [jRimbault](https://github.com/jRimbault) (CI and code analysis)
- [Guillermo Galvan](https://github.com/gmgalvan) (Request extra data)
- [Albert Shirima](https://github.com/agbaraka) (Rate limiting and various contributions)
- [Łukasz Sowa](https://github.com/Morishiri) (Custom claims in JWT)
- [Zao SOULA](https://github.com/zaosoula) (Custom `gorm.Config{}` in config file)
- [Ajtene Kurtaliqi](https://github.com/akurtaliqi) (Documentation landing page)
- [Louis Laurent](https://github.com/ulphidius) ([`gyv`](https://github.com/go-goyave/gyv) productivity CLI)
- [Clement3](https://github.com/Clement3) (`search` feature on [`goyave.dev/filter`](https://github.com/go-goyave/filter))
- [Darkweak](https://github.com/darkweak) (`HTTP cache, RFC compliant` middleware based on [Souin HTTP cache system](https://github.com/darkweak/souin))
- [Jason C Keller](https://github.com/imuni4fun) (Testify interface compatibility)
- [saltyFamiliar](https://github.com/saltyFamiliar) (`DoesntStartWithValidator`)
- [Muhammad Meganata Adam](https://github.com/bangadam) (`DoesntEndWithValidator`, `KeysInValidator`)
- [BowlOfSoup](https://github.com/BowlOfSoup) (`Required` flag in configuration entries, `ParseErrorStatusHandler`)
- [AidanKenney](https://github.com/AidanKenney) (Clickhouse support)## License
The Goyave framework is MIT Licensed. Copyright © 2024 Jérémy LAMBERT (SystemGlitch)