finds.dev← search

// the find

andeya/faygo

★ 1,593 · Go · Apache-2.0 · updated Feb 2023

Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes. Just define a struct handler, faygo will automatically bind/verify the request parameters and generate the online API doc.

Faygo is a Go web framework built on httprouter that uses struct tags to handle parameter binding, validation, and Swagger doc generation from a single handler definition. It targets API servers where you want the routing, binding, and docs to stay in sync automatically. Last commit was February 2023 — this project is effectively unmaintained.

The struct-tag-driven parameter binding is genuinely useful: one struct definition covers binding, validation (ranges, regex, nonzero), and Swagger 2.0 doc generation simultaneously, which eliminates a whole class of drift between docs and implementation. Support for multiple listener types (HTTP, HTTPS/HTTP2, Let's Encrypt, UNIX sockets) from a single config file is well-thought-out for varied deployment targets. The ini-based config system with automatic defaults means you can run with zero config and tune without recompiling. The extension ecosystem (gorm, xorm, sqlx, websocket, cron, JWT) is self-contained within the repo rather than scattered across third-party packages.

Dead project: no commits since early 2023, requires Go 1.8 as a minimum (Go is on 1.22+), and the module path still uses the old import style — you'd be adopting a framework with no security patches and no compatibility guarantees for current Go versions. The Swagger generation is version 2.0 only; OpenAPI 3.x is not on the roadmap and never will be given the maintenance status. Vendoring all dependencies (pongo2, freecache, websocket, logging) directly into the repo rather than using Go modules properly means you get whatever version was pinned in 2022 with no easy path to update. The hot-reload / graceful-reboot feature uses SIGUSR2, which doesn't work on Windows — a silent platform incompatibility that isn't prominently documented.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →