Awesome Open Source
Awesome Open Source

This project is under development

go-saas-kit

Kit for golang sass project

Frontend Repo: https://awesomeopensource.com/project/go-saas/kit-frontend
Layout Repo( For creating new service): https://awesomeopensource.com/project/go-saas/kit-layout

Architecture

Architecture

Feature

  • [x] Saas
  • [x] Modularity
  • [x] Microservice/Monolithic compatible
  • [x] Distributed Eventbus: kafka, pulsar
  • [x] Cache (Redis)
  • [x] Background Job: asynq

Quick Start

For Microservice

docker compose -f docker-compose.yml -f docker-compose.ms.yml -f docker-compose.kafka.yml -f docker-compose.tracing.yml up -d

Or with build

docker compose -f docker-compose.yml -f docker-compose.ms.yml -f docker-compose.kafka.yml  -f docker-compose.tracing.yml up -d --build

For Monolithic

docker compose -f docker-compose.yml -f docker-compose.monolithic.yml -f docker-compose.kafka.yml  -f docker-compose.tracing.yml up -d

Or with build

docker compose -f docker-compose.yml -f docker-compose.monolithic.yml -f docker-compose.kafka.yml  -f docker-compose.tracing.yml up -d --build

Demo

Open http://localhost:80 to see the web ui

Username: admin
Password: 123456

Development

make init
make all
make build

Modularity

Module design:

Minimal

Api: Protobuf definition for public/internal service and models

Event: Protobuf definition for distributed event bus

Biz: Domain layer, definition for all entities and repository interface

Service: Business logic, depends on biz repository interface

Data: Data access layer, implement biz repository interface, init databases( mysql ,redis), init event bus (kafka ), expose migration function

Conf: Protobuf configuration definition

Server: Set up http and grpc server. register all services, set up middlewares. set up distributed event handler, seeding behavior

Host: Process entry point, read configuration, set up tracing, logging

For Microservice:

Minimal

For Monolithic:

Minimal

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Golang (160,431
Go (160,431
Docker (97,645
Kubernetes (24,894
Admin (21,904
Microservice (12,064
Saas (1,483
Bolierplate (47
Kratos (29