Golang Microservices: Project Layout and Domain Driven Design

preview_player
Показать описание
Let me share with you my preferred project layout to structure microservices in Go! This includes discussing things like Domain Driven Design and Hexagonal Architecture, make sure you read the blog post for more details about this project.

00:00 - Start
00:14 - Agenda
00:35 - Domain Driven Design
05:25 - More Ideas
07:01 - Project Layout
11:08 - Conclusion

---

Who am I:

Hello👋🏼! I'm Mario, a Hands-on Software Architect and Lead Backend Engineer with more than 16 years of professional experience building all kinds of software including on-premise Industrial Automation Systems, Linux Accessibility Desktop and Browser Components as well as Distributed Advertising Microservices.

Every week I will share with you different topics I've learned while working for small startups and large companies including the processes I've followed over the years for successfully delivering complex enterprise systems from start to end.

Subscribe if you like Software Development, Software Architecture and Systems Design!

Keep it up. Don't give up!

#golang #microservices #ddd

--- Our affiliate links below

--- Our Vlog Channel

Рекомендации по теме
Комментарии
Автор

Good job man! This channel will grow! Keep it going!

nikolica
Автор

Thanks, Mario, I'm glad I've discovered this channel. Subbed!

Levelord
Автор

I like your project structure, I think I'll follow your structure for my project. Thanks Mario.

ultiumlabs
Автор

God Bless You With Everything You Wish, You Are A Real Champ, I Am A Big Fan of you Sir. Thanks for creating wonderful and great Tutorial for us.

thecodemon
Автор

Hey Mario, what is the purpose to use the "internal" dir for a microservice? From what I know, the "internal" dir is useful when you are writing libraries which would be used by other devs in other projects. Thx for the video!

mroobert
Автор

Buen video, esta muy interesante, saludos de Perú.

lubeckable
Автор

this is a great tutorial with ddd i have request though could please make a video on gluing everything together (micro services, kafka, docker and kuberneties for deployment)

myrachoantonio
Автор

Hi, thanks for great videos. Hope you share which material that you recommend to us to learn microservices with go ? Thank you

aushafy
Автор

Your data model's/ orm should be kept in separate folder like models correct?

InvincibleMan
Автор

Hi, in my opinion, in microservice project, since it small, we dont need DDD, 3 layer architecture is enough. What do you think ?

budi
Автор

This video is a perfect example of why I hate DDD . There's only a few useful concepts of DDD, like the "repository" pattern, which has NOTHING to do with the "domain." Designing software around FUNCTIONAL LAYERS makes sense (aka a "repository") and gives you flexible software. Designing software around business concepts (the "domain, " a bullshit concept) is a recipe for disaster. Hard coding business rules and product information into your codebase is terrible because it requires engineers to change the code before you can change your business. DDD is a recipe for sinking a growing company. Instead, build flexible FUNCTIONAL LAYERS and leave the "domain" (again, undefined, useless term) to the users of the software. Think spreadsheets, bug trackers, productivity tools.

AndyThomasStaff
Автор

grouping folders by entity name is not a domain driven design…

iljushka