All Projects → short-d → App

short-d / App

Reusable framework for micro services & command line tools

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to App

Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (+184.85%)
Mutual labels:  graphql, cli, database, framework
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. 🚀.
Stars: ✭ 1,176 (+1681.82%)
Mutual labels:  framework, jwt, dependency-injection
Graphik
Graphik is a Backend as a Service implemented as an identity-aware document & graph database with support for gRPC and graphQL
Stars: ✭ 277 (+319.7%)
Mutual labels:  graphql, grpc, database
Fastsitephp
🌟 FastSitePHP 🌟 A Modern Open Source Framework for building High Performance Websites and API’s with PHP
Stars: ✭ 102 (+54.55%)
Mutual labels:  database, framework, jwt
Webtau
Webtau (short for web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.
Stars: ✭ 156 (+136.36%)
Mutual labels:  graphql, cli, database
Directus
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.
Stars: ✭ 13,190 (+19884.85%)
Mutual labels:  graphql, database, app
Next
Directus is a real-time API and App dashboard for managing SQL database content. 🐰
Stars: ✭ 111 (+68.18%)
Mutual labels:  graphql, database, app
Mongoke
Instant Graphql for MongoDb (active branch is golang, rewrite in process)
Stars: ✭ 203 (+207.58%)
Mutual labels:  graphql, database, jwt
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+6272.73%)
Mutual labels:  grpc, framework, dependency-injection
Cli
GraphQL back-end framework with first-class Typescript support
Stars: ✭ 37 (-43.94%)
Mutual labels:  cli, framework
Niklick
Rails Versioned API solution template for hipsters! (Ruby, Ruby on Rails, REST API, GraphQL, Docker, RSpec, Devise, Postgress DB)
Stars: ✭ 39 (-40.91%)
Mutual labels:  graphql, database
Omdb Graphql Wrapper
🚀 GraphQL wrapper for the OMDb API
Stars: ✭ 45 (-31.82%)
Mutual labels:  graphql, app
Opensourcetest
OpenSourceTest由自动化测试-夜行者社区维护,提供的是更多地灵活性和可配置性
Stars: ✭ 37 (-43.94%)
Mutual labels:  framework, app
Ever
Ever® - Open-Source Commerce Platform for On-Demand Economy and Digital Marketplaces
Stars: ✭ 980 (+1384.85%)
Mutual labels:  graphql, framework
Cac
Simple yet powerful framework for building command-line apps.
Stars: ✭ 1,017 (+1440.91%)
Mutual labels:  cli, framework
Orionjs
A new framework for serverside GraphQL apps
Stars: ✭ 35 (-46.97%)
Mutual labels:  graphql, framework
Mvvmrecurve
MVVM框架, 这个架构支持RestFul风格的Api和GraphQL,你可以根据自身需求添加recurve-retrofit2-support库(RestFul)或recurve-apollo-support库(GraphQL)实现相应的支持。 该架构同时使用纯Kotlin开发,但是你也可以在Java中使用它。
Stars: ✭ 51 (-22.73%)
Mutual labels:  graphql, framework
Example Auth
User auth, session & JWT example for ReactQL
Stars: ✭ 51 (-22.73%)
Mutual labels:  graphql, jwt
Core
Package core is a service container that elegantly bootstrap and coordinate twelve-factor apps in Go.
Stars: ✭ 34 (-48.48%)
Mutual labels:  framework, dependency-injection
Graphql Zeus
GraphQL client and GraphQL code generator with GraphQL autocomplete library generation ⚡⚡⚡ for browser,nodejs and react native
Stars: ✭ 1,043 (+1480.3%)
Mutual labels:  graphql, cli

app

Reusable framework for Go apps & command line tools

Features

  • HTTP router
  • GraphQL
  • GRPC
  • Database migration
  • Environmental variables
  • JWT
  • Email API
  • Timer
  • Logger
  • Terminal GUI

Build your first scalable web service

  1. Create routing.go with the following content:

    package main
    
    import (
    	"fmt"
    	"net/http"
    
    	"github.com/short-d/app/fw/router"
    	"github.com/short-d/app/fw/service"
    )
    
    func main() {
    	routes := []router.Route{
    		{
    			Method:      http.MethodGet,
    			MatchPrefix: false,
    			Path:        "/:name",
    			Handle: func(w http.ResponseWriter, r *http.Request, params router.Params) {
    				name := params["name"]
    				page := fmt.Sprintf(`<h1>Hello, %s!<h1>`, name)
    				w.Write([]byte(page))
    			},
    		},
    	}
    
    	routingService := service.
    		NewRoutingBuilder("Example").
    		Routes(routes).
    		Build()
    
    	routingService.StartAndWait(8080)
    }
    
  2. Start the service using this command:

    go run routing.go
    
  3. That's it! You can now visit the web page at http://localhost:8080/Gopher!

More Examples

Projects using app

  • Short: Easy to use URL shortening service
  • Kgs: Distributed unique key generation service

Contributing

When contributing to this repository, please first discuss the change you wish to make via Slack channel with the owner of this repository before making a change.

Please open a draft pull request when you are working on an issue so that the owner knows it is in progress. The owner may take over or reassign the issue if no body replies after ten days assigned to you.

Pull Request Process

  1. Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
  2. You may merge the Pull Request in once you have the sign-off of code owner, or if you do not have permission to do that, you may request the code owner to merge it for you.

Code of Conduct

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

Discussions

Please join this Slack channel to discuss bugs, dev environment setup, tooling, and coding best practices.

Author

Harry Liu - byliuyang

License

This project is maintained under MIT license.

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].