Skip to content

Commit 713297d

Browse files
committed
update README
1 parent 06ad377 commit 713297d

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,29 @@
11
# go-arch-patterns
22

3-
This repository showcases the Ports and Adapters architectural pattern (also known as Hexagonal Architecture) and Domain-Driven Design (DDD) methodology, with a focus on fundamental concepts such as value objects. For more details about the software architecture, see [Software Architecture](docs/software_architecture.md).
3+
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.
44

5-
The system represents a SaaS platform for car rental companies. For more details about the system, see [Entity Relationship Diagram](docs/er-diagram.md).
5+
For more details about the architecture, see [Software Architecture](docs/software_architecture.md).
6+
For the data model and relationships, see [Entity Relationship Diagram](docs/er-diagram.md).
67

78
## Key Implementation Examples
89

910
This repository demonstrates the following software engineering concepts:
1011

12+
### Domain-Driven Design & Architecture
13+
1114
- **Value Object**:
1215
- *Definition*: See [Email value object](internal/domain/model/value/email.go) with [tests](internal/domain/model/value/email_test.go)
1316
- *Usage*: See [Individual entity](internal/domain/model/individual.go) using the Email value object
17+
18+
### Database Design Patterns
19+
1420
- **Class Table Inheritance**: See [Renter model](internal/domain/model/renter.go) as the base class with [Company](internal/domain/model/company.go) and [Individual](internal/domain/model/individual.go) as specialized subclasses
1521

22+
### SaaS & Microservices Patterns *(Coming Soon)*
23+
24+
- **PostgreSQL Row-Level Security**: Multi-tenant data isolation
25+
- **Outbox Pattern**: Reliable event publishing for distributed systems
26+
1627
## Documentation
1728

1829
Find specific documentation in the [docs/](docs/) folder:

0 commit comments

Comments
 (0)