All Projects → graniticio → granitic

graniticio / granitic

Licence: Apache-2.0 License
Web/micro-services and IoC framework for Golang developers

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to granitic

vue-ioc
IoC and DI for Vue powered by InversifyJS and inspired by Angular Module syntactic sugar.
Stars: ✭ 39 (+21.88%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Qframework
Unity3D System Design Architecture
Stars: ✭ 2,326 (+7168.75%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Container Ioc
Inversion of Control container & Dependency Injection for Javascript and Node.js apps powered by Typescript.
Stars: ✭ 89 (+178.13%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Go Spring
基于 IoC 的 Go 后端一站式开发框架 🚀
Stars: ✭ 744 (+2225%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
stashbox
A lightweight, fast, and portable dependency injection framework for .NET-based solutions.
Stars: ✭ 120 (+275%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Singularity
A extremely fast ioc container for high performance applications
Stars: ✭ 63 (+96.88%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
diod
A very opinionated inversion of control (IoC) container and dependency injector for Typescript, Node.js or browser apps.
Stars: ✭ 36 (+12.5%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
React Ioc
Hierarchical Dependency Injection with new React 16 Context API
Stars: ✭ 133 (+315.63%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Typhoon
Powerful dependency injection for Objective-C ✨✨ (https://PILGRIM.PH is the pure Swift successor to Typhoon!!)✨✨
Stars: ✭ 2,711 (+8371.88%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Typedi
Simple yet powerful dependency injection tool for JavaScript and TypeScript.
Stars: ✭ 2,832 (+8750%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Ditranquillity
Dependency injection for iOS (Swift)
Stars: ✭ 317 (+890.63%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
iocgo
A lightweight Inversion of Control (IoC) (Dependency Injection) container for Golang
Stars: ✭ 36 (+12.5%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Kangaru
🦘 A dependency injection container for C++11, C++14 and later
Stars: ✭ 297 (+828.13%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
ThunderboltIoc
One of the very first IoC frameworks for .Net that has no reflection. An IoC that casts its services before thunder casts its bolts.
Stars: ✭ 40 (+25%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
Ioc
🦄 lightweight (<1kb) inversion of control javascript library for dependency injection written in typescript
Stars: ✭ 171 (+434.38%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
waiter
Dependency injection, Inversion of control container for rust with compile time binding.
Stars: ✭ 71 (+121.88%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
vesselize
⛵ A JavaScript IoC container that works seamlessly with Vue.js and React.
Stars: ✭ 22 (-31.25%)
Mutual labels:  ioc, dependency-injection, inversion-of-control
redi
💉 A dependency injection library for TypeScript & JavaScript, along with a binding for React.
Stars: ✭ 29 (-9.37%)
Mutual labels:  ioc, dependency-injection
inversify-koa-utils
inversify-koa-utils is a module based on inversify-express-utils. This module has utilities for koa 2 applications development using decorators and IoC Dependency Injection (with inversify)
Stars: ✭ 27 (-15.62%)
Mutual labels:  dependency-injection, inversion-of-control
di.libx.js
💉 di.libx.js - Lightweight & non intrusive Dependency Injection module that supports async/deferred resolution and uglified support
Stars: ✭ 32 (+0%)
Mutual labels:  dependency-injection, inversion-of-control

Granitic

Granitic is a framework and lightweight application server for building and running web and micro services written in Go.

Features

  • A web service aware HTTP server with support for load-management and Identity Access Management (IAM) integration.
  • A fully-featured Inversion of Control (IoC) container.
  • A flexible and customisable request processing pipeline including:
    • Full support for JSON and plain XML web services.
    • Automatic binding of request bodies, query parameters and path parameters.
    • Declarative, rule driven validation.
    • A comprehensive error management system including full templating of all system and application error messages and HTTP response code mapping.
  • Component based error logging.
  • Query management for data sources.
  • RDMBS integration with an interface designed to promote more readable code.
  • A flexible task scheduler

Additionally, Granitic is designed to be 'DevOps friendly' and offers:

  • Fully externalised configuration, with support for configuration files stored locally or served over HTTP.
  • Low memory footprint and fast startup times (compared to JVM/CLR equivalents).
  • Runtime control of deployed applications (including suspension/resumption).
  • Runtime control of log levels (e.g. temporarily enable debugging without restarts).
  • Runtime monitoring and control of scheduled activities.

Getting started

Read and follow the installation instructions then work through the tutorials

The GoDoc for Granitic can be found here

Visit the granitic.io website to read the complete reference manual

Testing

Once you have followed the installation instructions, you can run Granitic's unit tests by running

cd $GOPATH/src/github.com/graniticio/granitic
go test ./...

Contributing

We are always delighted to receive contributions from the community. Please read the Contributing and Code of Conduct guides and then have a look at the open issues

Get in touch

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].