Skip to content

zenqos/zenqo

Repository files navigation

English | 한국어

Zenqo

A return-value-based Go web framework for building clean, scalable server-side applications.

CI Go Reference Go Report Card License

Description

Zenqo is a framework for building efficient, maintainable Go web applications. Handlers return (data, error) instead of manually writing to http.ResponseWriter — the framework handles JSON serialization, status codes, and error responses automatically.

Under the hood, Zenqo uses chi as its router, keeping Go's performance while removing the boilerplate that slows you down.

Philosophy

Handlers are pure functions that return (data, error). The framework handles JSON serialization, status codes, and error responses — so your code stays focused on business logic.

// Zenqo
func getUser(r *http.Request) (any, error) {
    user, err := svc.FindByID(id)
    if err != nil {
        return nil, core.ErrNotFound("user not found")
    }
    return user, nil
}

Getting Started

go install github.com/zenqos/zenqo/cmd/zenqo@latest
zenqo new my-app
cd my-app && zenqo dev

→ Full guide: Getting Started

Features

  • Return-value handlers(any, error) signature, automatic JSON & status codes
  • Controllers — group routes under a base path with BaseController
  • Bind & ValidateBind[T] decodes JSON, BindQueryStruct[T] binds query params, both run struct validation
  • Guards & Interceptors — access control and lifecycle hooks at route, controller, or global level
  • Error handling — panic recovery, typed errors, RFC 9457 Problem Details, customizable global error handler
  • Auto camelCase — struct fields serialize as camelCase without json tags
  • OpenAPI 3.1 — auto-generated spec from route metadata, Swagger UI, security schemes
  • Built-in middleware — CORS, rate limiting, secure headers, request ID, CSRF, real IP
  • File uploadsBindFile / BindFiles with size limits and content-type detection
  • CLIzenqo new, zenqo generate, zenqo dev with optional --watch hot reload

Examples

  • examples/basic — Direct routing without controllers
  • examples/crud — Full CRUD API with Controller + Service pattern
  • examples/auth — JWT authentication with Guards, Interceptors, and Bind+Validation

Documentation

Topic EN KO
Getting Started
CLI
Controllers
Request Binding
Validation
Error Handling
Guards & Interceptors
Middleware
OpenAPI

Contributors

ftery0
ftery0

💻
Raghu :)
Raghu :)

💻
aicontentcreate2023-star
aicontentcreate2023-star

💻

Contributing

We welcome contributions! Please read the Contributing Guide before submitting a Pull Request.

Security

If you discover a security vulnerability, do not open a public issue. Please follow the instructions in our Security Policy.

Stay in Touch

License

Zenqo is MIT licensed.

About

A return-value-based Go web framework for building clean, scalable server-side applications.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages