All Projects → Goxiaoy → go-saas

Goxiaoy / go-saas

Licence: MIT license
go data framework for saas(multi-tenancy)

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-saas

Multi Tenant
Run multiple websites using the same Laravel installation while keeping tenant specific data separated for fully independent multi-domain setups, previously github.com/hyn/multi-tenant
Stars: ✭ 2,304 (+2181.19%)
Mutual labels:  saas, multi-tenancy, tenant
Tenancy
Automatic multi-tenancy for Laravel. No code changes needed.
Stars: ✭ 2,133 (+2011.88%)
Mutual labels:  saas, multi-tenancy, tenant
multitenant
Multi-Tenant Spring Boot Application with separate databases using Hibernate and H2.
Stars: ✭ 15 (-85.15%)
Mutual labels:  multi-tenancy, tenant
multitenant-microservices-demo
Full Isolation in Multi-Tenant SaaS with Kubernetes + Istio
Stars: ✭ 57 (-43.56%)
Mutual labels:  saas, multi-tenancy
goblog
使用golang写的个人博客mirrored from https://gitlab.com/xiayesuifeng/goblog.git
Stars: ✭ 26 (-74.26%)
Mutual labels:  gin
pinax-stripe-light
a payments Django app for Stripe
Stars: ✭ 670 (+563.37%)
Mutual labels:  saas
ginhelper
gin framework helper
Stars: ✭ 16 (-84.16%)
Mutual labels:  gin
aws-marketplace-serverless-saas-integration
Example of serverless integration for SaaS products listed on the AWS Marketplace.
Stars: ✭ 79 (-21.78%)
Mutual labels:  saas
laya-template
服务基本框架,template
Stars: ✭ 13 (-87.13%)
Mutual labels:  gin
logger
Gin middleware/handler to logger url path using rs/zerolog
Stars: ✭ 119 (+17.82%)
Mutual labels:  gin
automile-net
Automile offers a simple, smart, cutting-edge telematics solution for businesses to track and manage their business vehicles.
Stars: ✭ 24 (-76.24%)
Mutual labels:  saas
saas-react-starter-kit-boilerplate
SaaStr is a React SaaS boilerplate to kickstart your new SaaS adventure as fast as possible. Built on top of Adonis JS for the BackEnd and React Starter Kit for the Front-End
Stars: ✭ 100 (-0.99%)
Mutual labels:  saas
awesome-hosting
List of awesome hosting
Stars: ✭ 134 (+32.67%)
Mutual labels:  saas
bizbook-client
The repository of bizbook client project
Stars: ✭ 28 (-72.28%)
Mutual labels:  saas
automile-php
Automile offers a simple, smart, cutting-edge telematics solution for businesses to track and manage their business vehicles.
Stars: ✭ 28 (-72.28%)
Mutual labels:  saas
ginadmin
基于Gin开发的后台管理系统,集成了、数据库操作、日志管理、权限分配管理、多模板页面、自动分页器、数据库迁移和填充、Docker集成部署等功能、静态资源打包
Stars: ✭ 149 (+47.52%)
Mutual labels:  gin
steedos-app-oa
开源协同办公系统,基于华炎魔方开发,可自主随心定制。
Stars: ✭ 24 (-76.24%)
Mutual labels:  saas
pink-lady
a template project of gin app.
Stars: ✭ 44 (-56.44%)
Mutual labels:  gin
cortex-tenant
Prometheus remote write proxy that adds Cortex tenant ID based on metric labels
Stars: ✭ 60 (-40.59%)
Mutual labels:  tenant
beer-shop
An online shop application, the complete microservices demo for kratos.
Stars: ✭ 538 (+432.67%)
Mutual labels:  kratos

go-saas

English | 中文文档

headless go framework for saas(multi-tenancy).
go-saas targets to provide saas solution for go this project suits for simple (web) project, which is also called monolithic.

if you are finding complete solution which is microservice compatible, please refer to go-saas-kit

Overview

Feature

  • Different database architecture

    • Single-tenancy: Each database stores data from only one tenant.

    img.png

    • Multi-tenancy: Each database stores data from multiple separate tenants (with mechanisms to protect data privacy).

    img.png

    • Hybrid tenancy models are also available.

    • Implement your own resolver to achieve style like sharding

  • Support multiple web framework

  • Supported orm with data filter, which means all underlying database

  • Customizable tenant resolver

    • Query String
    • Form parameters
    • Header
    • Cookie
    • Domain format
  • Seed and Migration

    • Seed/Migrate tenant database after creation or upgrade to new version
  • Integration with gateway

Install

go get github.com/go-saas/saas

Design

graph TD
    A(InComming Request) -->|cookie,domain,form,header,query...|B(TenantResolver)
    B --> C(Tenant Context)  --> D(ConnectionString Resolver)
    D --> E(Tenant 1) --> J(Data Filter) -->  H(Shared Database)
    D --> F(Tenant 2) --> J
    D --> G(Tenant 3) --> I(Tenant 3 Database)

Sample Project

  • example-gorm combination of go-saas,gin,gorm(sqlite/mysql)
  • example-ent combination of go-saas,gin,ent(sqlite)
  • go-saas-kit Microservice architecture starter kit for golang sass project

Documentation

Refer to wiki

References

https://docs.microsoft.com/en-us/azure/azure-sql/database/saas-tenancy-app-design-patterns

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