This proposal outlines the standard design patterns and architectural guidelines for developing Go-based applications at RidFinance. It aims to establish consistent practices across our fintech infrastructure while ensuring maintainability, testability, and scalability.
As RidFinance continues to grow, we need standardized patterns for:
RidFinance Go applications should follow clean architecture principles with clear separation of:
project/
├── cmd/ # Application entry points
├── config/ # Application constant values
├── constants/ # Application configuration options and set up
├── internal/ # Private application code
│ ├── dto/ # Business data transfer object
│ ├── entity/ # Business data entities
│ ├── http/ # http handlers and controllers
│ ├── infrastructure/ # External services implementation (e.g.databases)
│ ├── repository/ # Business database level logic
│ └── services/ # Use case implementations
├── token/ # JWT token implementation
└── tests/ # Unit and/or Integration tests