{"id":13393497,"url":"https://github.com/go-goyave/goyave","last_synced_at":"2026-01-16T16:33:30.588Z","repository":{"id":37979509,"uuid":"216532683","full_name":"go-goyave/goyave","owner":"go-goyave","description":"🍐 The enterprise REST API framework","archived":false,"fork":false,"pushed_at":"2025-12-11T15:30:21.000Z","size":10927,"stargazers_count":1758,"open_issues_count":13,"forks_count":83,"subscribers_count":25,"default_branch":"master","last_synced_at":"2026-01-11T10:06:35.877Z","etag":null,"topics":["api","backend","enterprise","framework","go","golang","http","rest","web-framework"],"latest_commit_sha":null,"homepage":"https://goyave.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/go-goyave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"System-Glitch","patreon":"system_glitch","custom":"https://blockstream.info/address/bc1qk2sut30zvry8glr6yca7tlgc39knepjp86ywpt"}},"created_at":"2019-10-21T09:44:34.000Z","updated_at":"2026-01-07T14:41:11.000Z","dependencies_parsed_at":"2023-02-08T09:31:48.101Z","dependency_job_id":"fd78a9d1-365b-4754-835b-db7981667dfe","html_url":"https://github.com/go-goyave/goyave","commit_stats":{"total_commits":965,"total_committers":9,"mean_commits":"107.22222222222223","dds":0.02901554404145079,"last_synced_commit":"2773c6178355b611b0628697476f30c23ea0f80f"},"previous_names":["system-glitch/goyave"],"tags_count":109,"template":false,"template_full_name":null,"purl":"pkg:github/go-goyave/goyave","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fgoyave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fgoyave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fgoyave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fgoyave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/go-goyave","download_url":"https://codeload.github.com/go-goyave/goyave/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fgoyave/sbom","scorecard":{"id":136739,"data":{"date":"2025-08-11","repo":{"name":"github.com/go-goyave/goyave","commit":"341d6aa1ee2c5344f188a4ef3ccfb8bcac7509ca"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"name":"Code-Review","score":1,"reason":"Found 3/25 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"11 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/go-goyave/goyave/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/go-goyave/goyave/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/go-goyave/goyave/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/go-goyave/goyave/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/go-goyave/goyave/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/go-goyave/goyave/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/go-goyave/goyave/test.yml/master?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T06:43:30.281Z","repository_id":37979509,"created_at":"2025-08-16T06:43:30.281Z","updated_at":"2025-08-16T06:43:30.281Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","backend","enterprise","framework","go","golang","http","rest","web-framework"],"created_at":"2024-07-30T17:00:54.300Z","updated_at":"2026-01-16T16:33:30.579Z","avatar_url":"https://github.com/go-goyave.png","language":"Go","funding_links":["https://github.com/sponsors/System-Glitch","https://patreon.com/system_glitch","https://blockstream.info/address/bc1qk2sut30zvry8glr6yca7tlgc39knepjp86ywpt"],"categories":["Utility","Go","Web Frameworks","Web框架","Repositories"],"sub_categories":["Utility/Miscellaneous","HTTP Clients","实用程序/Miscellaneous","Fail injection"],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./resources/img/logo/goyave_banner.png#gh-light-mode-only\" alt=\"Goyave Logo\" width=\"550\"/\u003e\n    \u003cimg src=\"./resources/img/logo/goyave_banner_dark.png#gh-dark-mode-only\" alt=\"Goyave Logo\" width=\"550\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/go-goyave/goyave/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/go-goyave/goyave?include_prereleases\" alt=\"Version\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/go-goyave/goyave/actions\"\u003e\u003cimg src=\"https://github.com/go-goyave/goyave/workflows/CI/badge.svg\" alt=\"Build Status\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://coveralls.io/github/go-goyave/goyave?branch=master\"\u003e\u003cimg src=\"https://coveralls.io/repos/github/go-goyave/goyave/badge.svg\" alt=\"Coverage Status\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/avelino/awesome-go\"\u003e\u003cimg src=\"https://awesome.re/mentioned-badge.svg\" alt=\"Awesome\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/go-goyave/goyave/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/dub/l/vibe-d.svg\" alt=\"License\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://pkg.go.dev/goyave.dev/goyave/v5\"\u003e\u003cimg src=\"https://pkg.go.dev/badge/goyave.dev/goyave/v5.svg\" alt=\"Go Reference\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/mfemDMc\"\u003e\u003cimg src=\"https://img.shields.io/discord/744264895209537617?logo=discord\" alt=\"Discord\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## The enterprise REST API framework\n\n**Goyave** an **opinionated** all-in-one Golang web framework focused on **REST APIs**, with emphasis on code **reliability**, **maintainability** and **developer experience** (DX).\n\nIn short, Goyave's **goals** are:\n- Catering to companies with enterprise-level clean architecture, for medium to large projects\n- Help developers focus on the business logic of their application instead of spending time on technical aspects\n- Provide an all-in-one package with no setup friction\n- Provide all the features a typical project needs without bloating or magic\n- Provide an optimal setup for the real-world\n- Ensure robust, reliable and resilient code \n- Stay open and hackable despite being opinionated\n- Make backend development easy and enjoyable\n- Keep a clear and extensive documentation so developers can always find the answer to their questions\n\nGoyave's **non-goals** are:\n- Hyper-optimisation and performance\n- Small projects and prototypes\n- Providing control on low-level networking\n- Providing tools for front-end development\n\nIf 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.\n\nYou can also take a look at the [example project](https://github.com/go-goyave/goyave-blog-example).\n\n## Features\n\nRouting, 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...\n\nIf you want to learn more, all features are documented on [goyave.dev](https://goyave.dev/). \n\n## Contributing\n\nThank you for considering contributing to the Goyave framework! You can find the contribution guide in the [documentation](https://goyave.dev/contributing.html).\n\nFor financial support, you can support me on Github Sponsor: [❤ Sponsor me!](https://github.com/sponsors/System-Glitch)\n\nI'm very grateful to my patrons, sponsors and donators:\n\n- Ben Hyrman\n- Massimiliano Bertinetti\n- ethicnology\n- Yariya\n- sebastien-d-me\n- Nebojša Koturović\n\n### Contributors\n\nA big \"Thank you\" to the Goyave contributors:\n\n- [Kuinox](https://github.com/Kuinox) (Powershell install script)\n- [Alexandre GV.](https://github.com/alexandregv) (Install script MacOS compatibility)\n- [jRimbault](https://github.com/jRimbault) (CI and code analysis)\n- [Guillermo Galvan](https://github.com/gmgalvan) (Request extra data)\n- [Albert Shirima](https://github.com/agbaraka) (Rate limiting and various contributions)\n- [Łukasz Sowa](https://github.com/Morishiri) (Custom claims in JWT)\n- [Zao SOULA](https://github.com/zaosoula) (Custom `gorm.Config{}` in config file)\n- [Ajtene Kurtaliqi](https://github.com/akurtaliqi) (Documentation landing page)\n- [Louis Laurent](https://github.com/ulphidius) ([`gyv`](https://github.com/go-goyave/gyv) productivity CLI)\n- [Clement3](https://github.com/Clement3) (`search` feature on [`goyave.dev/filter`](https://github.com/go-goyave/filter))\n- [Darkweak](https://github.com/darkweak) (`HTTP cache, RFC compliant` middleware based on [Souin HTTP cache system](https://github.com/darkweak/souin))\n- [Jason C Keller](https://github.com/imuni4fun) (Testify interface compatibility)\n- [saltyFamiliar](https://github.com/saltyFamiliar) (`DoesntStartWithValidator`)\n- [Muhammad Meganata Adam](https://github.com/bangadam) (`DoesntEndWithValidator`, `KeysInValidator`)\n- [BowlOfSoup](https://github.com/BowlOfSoup) (`Required` flag in configuration entries, `ParseErrorStatusHandler`)\n- [AidanKenney](https://github.com/AidanKenney) (Clickhouse support, compression encoders)\n- [SallesCosta](https://github.com/SallesCosta) (Slog discard logger)\n- [fnoopv](https://github.com/fnoopv) (JWT controller auth meta)\n- [Achilles Moraites](https://github.com/achimoraites) (Escape characters in `walk.Path`)\n- [pn03](https://github.com/pn03) (Bigquery dialect)\n- [Supakorn Ieamgomol](https://github.com/Supakornn) (Server `net.ListenConfig`)\n- [Yo Sev](https://github.com/YoSev) (Embedded FS static serving compatibility on Windows)\n\n## License\n\nThe Goyave framework is MIT Licensed. Copyright © 2024 Jérémy LAMBERT (SystemGlitch) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-goyave%2Fgoyave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgo-goyave%2Fgoyave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-goyave%2Fgoyave/lists"}