nirvana

Golang Restful API Framework for Productivity

Github stars Tracking Chart

Nirvana

Build Status
Coverage Status
GoDoc
Go Report Card
OpenTracing Badge

Nirvana is a golang API framework designed for productivity and usability. It aims to be the building block for
all golang services at Caicloud. The high-level goals and features include:

  • consistent API behavior, structure and layout across all golang projects
  • improve engineering productivity with openAPI and client generation, etc
  • validation can be added by declaring validation method as part of API definition
  • out-of-box instrumentation support, e.g. metrics, profiling, tracing, etc
  • easy and standard configuration management, as well as standard cli interface

Nirvana is also extensible and performant, with the goal to support fast developmenet velocity.

Getting Started

Nirvana provides documentations in two languages to help you expore this framework. Note right now, only Chinese
docs are kept up-to-date.

In addition, nirvana-practice provides a practical way for you
to get familiar with Nirvana.

Features

  • API Framework based on Descriptors
  • Request Filter
  • Middleware
  • Validator
  • Plugins
  • API Doc Generation
  • Client Generation

Contributing

If you are interested in contributing to Nirvana, please checkout CONTRIBUTING.md.
We welcome any code or non-code contribution!

Licensing

Nirvana is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Main metrics

Overview
Name With Ownercaicloud/nirvana
Primary LanguageGo
Program languageGo (Language Count: 3)
Platform
License:Apache License 2.0
所有者活动
Created At2017-09-15 08:56:03
Pushed At2023-02-23 05:28:04
Last Commit At2021-07-05 10:51:05
Release Count29
Last Release Namev0.3.1 (Posted on )
First Release Namev0.1.0-alpha.0 (Posted on )
用户参与
Stargazers Count521
Watchers Count33
Fork Count105
Commits Count299
Has Issues Enabled
Issues Count131
Issue Open Count14
Pull Requests Count312
Pull Requests Open Count4
Pull Requests Close Count19
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private