Comments (2)
I'll submit an example PR in the upcoming week *if not so busy LOL
from go-clean-arch.
Hi, sorry for the late reply. So busy lately
Thanks for using this proposed structured project.
I also face the same thing you had.
I'm still experimenting with a lot of structure for now.
But I'll list what possible way that I've done.
-
added new packages
- pkg (for shared functions)
-
Another solution is, the one I've proposed for the internal project structure in my current company.
I'm planning to submit this to be the new version of this project structure.
.
├── Dockerfile
├── Makefile
├── README.md
├── app
│ ├── cmd
│ │ ├── rest.go
│ │ └── root.go
│ ├── config
│ │ ├── app.go
│ │ ├── postgres.go
│ │ ├── root.go
│ │ ├── root_test.go
│ │ ├── server.go
│ │ └── server_test.go
│ └── main.go
├── deploy.Dockerfile
├── dev.Dockerfile
├── docker-compose.test.yaml
├── docker-compose.yaml
├── docs
│ └── openapi.yaml
├── ebus
│ ├── README.md
│ ├── ebus.go
│ ├── ebus_test.go
│ ├── rabbitmq
│ │ └── rabbitmq.go
│ └── sns
│ └── sns.go
├── errors.go
├── go.mod
├── go.sum
├── internal
│ ├── README.md
│ ├── graphql
│ │ └── README.md
│ ├── grpc
│ │ └── README.md
│ ├── mongo
│ │ └── README.md
│ ├── postgres
│ │ ├── README.md
│ │ ├── migration.go
│ │ ├── migrations
│ │ │ ├── 20191018113359_create_todo_table.down.sql
│ │ │ └── 20191018113359_create_todo_table.up.sql
│ │ ├── postgres_suite.go
│ │ ├── todo.go
│ │ ├── todo_test.go
│ │ ├── utils.go
│ │ └── utils_test.go
│ ├── rabbitmq
│ │ └── README.md
│ ├── redis
│ │ └── README.md
│ ├── rest
│ │ ├── README.md
│ │ ├── middleware
│ │ │ ├── context_timeout_injector.go
│ │ │ └── middleware.go
│ │ ├── todo.go
│ │ └── todo_test.go
│ ├── serviceyoudependon
│ │ └── README.md
│ ├── sns
│ │ └── README.md
│ ├── sqlx
│ │ ├── tx.go
│ │ └── tx_test.go
│ └── sqs
│ └── README.md
├── mock.Dockerfile
├── mocks
│ ├── ITodoRepository.go
│ ├── ITodoService.go
│ └── README.md
├── test.Dockerfile
├── todo
│ ├── service.go
│ └── service_test.go
└── todo.go
23 directories, 58 files
Let me know what do you think about this. Also if you have a better Idea, let's discuss it over here.
from go-clean-arch.
Related Issues (20)
- Question: Should we use a pointer as a return type of NewUsecase, NewRepository? HOT 3
- Implementation Basic Auth or Oauth 2.0 in go clean arch
- How to handle multiple Repository transactions HOT 2
- What is the entity, is it swollen in the domain? HOT 2
- How do you reference ID's HOT 2
- why you had put uc with business logic nearly infrastructure details like a sql queries? HOT 2
- Questions About Whether Necessary To Use Pointer For Usecase HOT 1
- Question About Layers
- More than one repository files? HOT 4
- Question about directory layer HOT 1
- Question about manage 3rd service HOT 2
- accept interface, return pointer struct
- How to support transaction? HOT 1
- Repository should be Unexported except by UseCase
- Cyclic Dependence
- Vulnerability of dependency "golang.org/x/net" HOT 1
- If domain struct does not equal to database's schema, what should be done regarding repository's interface? HOT 1
- Database Connection Error HOT 1
- Enhance & Feat: Database connection with go wire dependency injection
- How to organize another domain? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-clean-arch.