gongular - A different approach to Go web frameworks

  •        11

gongular is an HTTP Server Framework for developing APIs easily. It is like Gin Gonic, but it features Angular-like (or Spring like) dependency injection and better input handling. Most of the time, user input must be transformed into a structured data then it must be validated. It takes too much time and is a repetitive work, gongular aims to reduce that complexity by providing request-input mapping with tag based validation.Note: gongular is an opinionated framework and it heavily relies on reflection to achieve these functionality. While there are tests to ensure it works flawlessly, I am open to contributions and opinions on how to make it better.

https://github.com/mustafaakin/gongular

Tags
Implementation
License
Platform

   




Related Projects

swoft - ⚡️ Modern High performance AOP and Coroutine PHP Framework, base on Swoole


The first high-performance PHP coroutine full-stack componentization framework based on Swoole native coroutine, built-in coroutine web server and commonly-used coroutine client, resident memory, which has no dependency on PHP-FPM, asynchronous non-blocking IO implementation, similar to synchronous client style of writing to achieve the use of asynchronous clients, without complex asynchronous callback, no tedious yield, similar Go language coroutines, flexible annotations framework, a powerful global dependency injection container base on annotations, and great service governance , flexible and powerful AOP, PSR specification implementation, etc., could be used to build high-performance Web systems, APIs, middleware, basic services, microservice and so on. Chinese Document English Document Not yet, please help us write it.

Macaron - A high productive and modular web framework in Go.


Package macaron is a high productive and modular web framework in Go.The minimum requirement of Go is 1.3.

Gin - HTTP web framework written in Go (Golang)


Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love You can add global, per-group, and per-route middlewares, thousands of nested groups, nice JSON validation and rendering. And the performance will be still great. Gin uses httprouter internally, the fastest HTTP router for Golang. Httprouter was created by Julien Schmidt and it’s based in a Radix Tree algorithm.

Grails - A Powerful Groovy-Based Web application framework for the JVM built on top of Spring Boot


Grails is a web framework, for the JVM, built on top of Spring Boot. It leverages many features such as Spring-Powered dependency injection. It seamlessly and transparently integrates and interoperates with Java, the JVM, and existing Java EE containers.

Jooby - A Scalable, fast and modular micro web framework for Java


Jooby a scalable, fast and modular micro web framework for Java. Write your application in Java or JavaScript. It supports Express.js, Sinatra, Scripting programming model. It also supports Spring like MVC model. NIO web servers, Caching, Web sockets, Dependency Injection and lot more.


Ninja - Ninja is a full stack web framework for Java


Ninja is a full stack web framework for Java. It is made up of libraries that deliver everything. From Html, Json and Xml rendering and parsing to management of different environments, database persistence, testing and much more.

Larvel - A PHP Framework For Web Artisans


Laravel is a web application framework with expressive, elegant syntax. Laravel is accessible, yet powerful, providing tools needed for large, robust applications. It supports an amazing ORM, painless routing, powerful queue library, and simple authentication give you the tools you need for modern, maintainable PHP.

Ktor - Framework for quickly creating connected applications in Kotlin with minimal effort


Ktor is a framework for quickly creating web applications in Kotlin with minimal effort. Ktor Framework doesn't impose a lot of constraints on what technology a project is going to use – logging, templating, messaging, persistent, serializing, dependency injection, etc. Sometimes it may be required to implement a simple interface, but usually it is a matter of writing a transforming or intercepting function. Features are installed into application using unified interception mechanism which allows building arbitrary pipelines.

faygo - Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes


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.

AngularJS - JavaScript MVW Framework from Google


AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. AngularJS's data binding and dependency injection eliminate much of the code you would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology.

w3af - Web Application Attack and Audit Framework


w3af is a Web Application Attack and Audit Framework. The project’s goal is to create a framework to help you secure your web applications by finding and exploiting all web application vulnerabilities. It can find Cross site scripting, SQL Injection and lot more. The framework implements web and proxy servers which are easy to integrate into your code in order to identify and exploit vulnerabilities.

Slim - A micro framework for PHP


Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs. Slim provides a fast and powerful router that maps route callbacks to specific HTTP request methods and URIs. It supports parameters and pattern matching. Slim supports any PSR-7 HTTP message implementation so you may inspect and manipulate HTTP message method, status, URI, headers, cookies, and body.

kami - web "framework" with context


kami (神) is a tiny web framework using context for request context and httptreemux for routing. It includes a simple system for running hierarchical middleware before and after requests, in addition to log and panic hooks. Graceful restart via einhorn is also supported. kami is designed to be used as central registration point for your routes, middleware, and context "god object". You are encouraged to use the global functions, but kami supports multiple muxes with kami.New().

Revel Framework - A high productivity, full-stack web framework for the Go language.


Revel high productivity, full-stack web framework for the Go language. It provides routing, parameter parsing, validation, session/flash, templating, caching, job running, a testing framework, and even internationalization. It builds on top of the Go HTTP server, which can serve three to ten times as many requests as Rails across a variety of loads.

Koa - Expressive HTTP middleware framework for node.js


Koa is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware within core, and provides an elegant suite of methods that make writing servers fast and enjoyable.

go-tigertonic - A Go framework for building JSON web services inspired by Dropwizard


A Go framework for building JSON web services inspired by Dropwizard. If HTML is your game, this will hurt a little.Like the Go language itself, Tiger Tonic strives to keep features orthogonal. It defers what it can to the Go standard library and a few other packages.

Blade - Lightning fast and elegant MVC framework for Java8


Blade is a pursuit of simple, efficient Web framework, so that Java web development even more powerful, both in performance and flexibility. The design is simple, easy to understand and doesn't introduce many layers between you and the standard library. The goal of this project is that the users should be able to understand the whole framework in a single day. It supports RESTful style routing interface. It has no invasive interceptors and provides the writing of DSL grammar.

CleverGo - High Performance Web Framework in Go


CleverGo built in top of fasthttp, it is a simple, high performance and secure web framework for Go.

mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.


Mango is a modular web-application framework for Go, inspired by Rack and PEP333.Note: Not actively maintained.