Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Clean Architecture in Go: A Trader Monorepo with MongoDB
Rating: 4.3 out of 5(9 ratings)
64 students

Clean Architecture in Go: A Trader Monorepo with MongoDB

Learn how to design and build production-ready Go applications using Clean Architecture, MongoDB and Docker.
Created byFederico León
Last updated 10/2025
English

What you'll learn

  • Design a real-world Go backend using Clean Architecture and a modular monorepo structure.
  • Build REST APIs in Go with clear domain layers, use cases and decoupled adapters.
  • Connect a Go application to MongoDB, store data cleanly and run everything in Docker.
  • Structure scalable Go projects that can start as a monolith and evolve into microservices.

Course content

7 sections35 lectures5h 58m total length
  • Business requirements5:11

    This lesson explains the real business problem we’re solving: building a scalable backend capable of managing trading strategies. You’ll learn how to read, interpret and break down business requirements into technical needs, a key skill for any backend engineer.

  • Understanding the impact of business requirements5:40

    Here we analyze how business decisions shape technical architecture. You'll see how requirements affect domain modeling, database selection, project structure and API design, preparing you to make informed engineering decisions.

  • Creating the GitHub repository6:11

    You'll learn how to structure a clean, professional GitHub repository from day one. We set up folders, README, .gitignore and version control best practices to maintain an industry-standard project layout.

  • Clean Architecture: Introduction8:34

    This lesson introduces the principles of Clean Architecture and why it's ideal for scalable Go projects.

    You’ll understand its benefits, common misconceptions and the layering approach that keeps code maintainable and testable.

  • Entities in Clean Architecture10:13

    We explore what entities really are: core, long-lived business rules.


    You’ll learn how to identify them, when to introduce them and how they remain independent from frameworks, databases or transport protocols.

  • Activity – Define your own entities2:14

    A hands-on activity where you interpret business rules and design your own domain entities. This reinforces deep understanding of domain modeling and prepares you for real-world backend work.

  • Initializing the Go module6:01

    We create the project's Go module, configure dependencies and follow best practices for module naming, versioning and dependency management.

  • Docker Compose - MongoDB setup9:12

    In this lesson, you will set up MongoDB using Docker Compose. You’ll learn how to configure containers, volumes, networks and run MongoDB locally in a reproducible, production-like environment.

  • Let's review what we have learned

Requirements

  • Basic Go knowledge is helpful but not required. All concepts are explained from scratch.

Description

In this course, you'll learn how to design, implement and deploy a real-world Go backend using Clean Architecture, MongoDB and Docker, following best practices used in production systems.


We'll start from scratch with a modular monorepo, where you'll build a REST API to manage trading strategies. You'll learn how to keep your codebase organized, testable and scalable. Ready to evolve into microservices in future steps.


Unlike other courses that try to cover everything at once, this one is focused and practical: you'll build a solid foundation, understand how to separate concerns using Clean Architecture and deliver a working backend project that you can actually use and extend.


What you'll build: A backend service that can:


  • Define and manage trading strategies.

  • Store and retrieve data from MongoDB.

  • Be tested locally with Postman and Go tests.

  • Run in Docker and be extended into microservices later.


What you'll learn:


  • How Clean Architecture applies to Go projects.

  • How to model your domain using entities and use cases.

  • How to structure a monorepo with independent layers.

  • MongoDB integration and persistence.

  • Writing unit and integration tests in Go.

  • How to build, test and run everything with Docker and Docker Compose.


Why this course matters


This course is the first part of a larger journey. By the end, you'll have a clean and modular Go backend. And the skills to scale it up later into multiple microservices if your system demands it.


Whether you're just getting started with Go or looking for a real-world example of Clean Architecture in action, this course is your ideal starting point.

Who this course is for:

  • Go developers.
  • Backend engineers.
  • Anyone who wants to learn how to structure real-world Go projects.