Skip to content

Latest commit

Β 

History

History
85 lines (59 loc) Β· 2.58 KB

README.md

File metadata and controls

85 lines (59 loc) Β· 2.58 KB

Go Clean Architecture Repository πŸš€

Welcome to the Clean Architecture At Go repository! This project follows the principles of Clean Architecture in Go, providing a scalable and maintainable foundation for building robust applications. πŸ› οΈ

Table of Contents πŸ“š

Introduction 🌐

This project aims to demonstrate the implementation of Clean Architecture in Go, separating concerns into distinct layers to achieve better testability, maintainability, and flexibility. The architecture consists of the following layers:

  • Entities: Represents the core business logic.
  • Use Cases: Contains application-specific business rules.
  • Interfaces: Defines the boundaries of the application.
  • Adapters: Implements the interfaces, connecting the application to external frameworks or tools.

Getting Started 🚦

To get started with this project, make sure you have Go installed on your machine. Clone the repository and run:

go build -o ./bin/ source.go

This will build and execute the application.

Project Structure πŸ—οΈ

The project structure follows the Clean Architecture principles, separating concerns into different packages. Here's an overview:

/api
/configs
/cmd
    /app
/internal
    /entities
    /usecases
    /event
    /infra
/pkg
  /types
  • cmd: Contains the application's entry point and configuration.
  • internal: Holds the core application code.
  • pkg: Houses reusable packages.

Dependencies πŸ“¦

This project uses default golang dependency managing tool for managing external dependencies. To install the required dependencies, run:

go install 

Usage πŸš€

Describe how to use your application or library here. Include code snippets or examples to guide users.

Testing πŸ§ͺ

Ensure that all unit tests and integration tests pass before submitting a pull request. Run the tests using:

go test ./...

Contributing 🀝

Contributions are welcome! Please follow our Contribution Guidelines when submitting pull requests.

License πŸ“„

This project is licensed under the MIT License - see the LICENSE.md file for details.