# Introduction

Welcome to the Goyave documentation!

This documentation is both a guide and a reference for Goyave application building. You will find instructions covering the basics as well as more advanced topics, from project setup to deployment. But first, let's talk about the framework itself.

Goyave is a Golang web API framework aiming at cleanliness, fast development and power. Goyave applications stay clean and concise thanks to minimalist function calls and route handlers. The framework gives you all the tools to create an easily readable and maintainable web application, which let you concentrate on the business logic. Although Goyave handles many things for you, such as headers or marshaling, this characteristic doesn't compromise on your freedom of code.

Most golang frameworks for web development don't have a strong directory structure nor conventions to make applications have a uniform architecture and limit redundancy. This makes it difficult to work with them on different projects. In companies, having a well-defined and documented architecture helps new developers integrate projects faster, and reduces the time needed for maintaining them. For open source projects, it helps newcomers understanding the project and makes it easier to contribute. With Goyave, expect a full package with minimum setup.

Note

Please feel free to sudgest changes, ask for more details, report grammar errors, or notice of uncovered scenarios by creating an issue with the proposal template.

# Roadmap

Roadmap

# Ideas for future releases

  • Permission system (guards)
  • CLI utility to help creating controllers, middleware, etc
  • Direct support for the HEAD method
  • Email helpers
  • Queues/Scheduler system
  • OpenAPI generator
  • And more!

# Contributors

A big "Thank you" to the Goyave contributors: