Nova

Welcome to Nova.

Nova is a flexible framework that simplifies creating both RESTful APIs and web UIs. It extends Go’s standard library with sensible defaults and helper utilities for components like routing, middleware, OpenAPI, and HTML templating, minimizing decision fatique. Making it easier than ever to build powerful web applications in Go.

Why Choose Nova?

Nova is designed to be a lightweight framework that has as little dependencies as possible. It is built on top of Go’s standard library, making it easy to integrate with existing Go codebases and libraries.

Together with the CLI tool, Nova provides a streamlined development experience for building web applications.

Key Features:

  • 🛠️ CLI Tooling: Integrated command-line tooling to build any CLI for your application.
  • 🏗️ Project Scaffolding: Quickly generate new projects with a sensible default structure using nova new.
  • 🗃️ Database Migrations: Manage database migrations effortlessly with the nova binary.
  • 🛠️ Streamlined REST APIs: Simplified routing, request handling, and response generation.
  • 🚧 OpenAPI: Built-in support for request validation and OpenAPI (Swagger) spec generation.
  • 🧩 Middleware Support: Easily add and manage middleware for enhanced functionality.
  • 📄 Templating Engine: Built-in support for building HTML templates within Go files.

Getting Started

To get started with Nova, read the Quickstart guide, or check out the example project.

License

This project is licensed under the MIT License.