Skip to content

jp-ryuji/go-arch-patterns

Repository files navigation

go-arch-patterns

This repository demonstrates various architectural patterns and design principles for building scalable backend systems in Go. The codebase showcases architectural patterns, database design techniques, and SaaS-specific implementations through a practical car rental platform example.

For more details about the architecture, see Software Architecture. For the data model and relationships, see Entity Relationship Diagram.

Key Implementation Examples

This repository demonstrates the following software engineering concepts:

Domain-Driven Design & Architecture

Database Design Patterns

Microservices Patterns

SaaS Patterns

  • PostgreSQL Row-Level Security: Multi-tenant data isolation (Coming Soon)

Documentation

Find specific documentation in the docs/ folder:

Disclaimer

This repository is intended for educational and demonstration purposes. It is not recommended for production use without significant modifications.

  1. Database Schema Management: The project uses Ent's auto migration feature to manage database schema changes for convenience. Proper migration strategies should be implemented for production environments. For more details on how database schema updates are handled, see Database Schema Updates.

  2. Database Security: SSL mode is disabled for database access (see internal/infrastructure/postgres/migrate/main.go). This configuration is insecure and should be enabled in production environments.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages