What you'll learn:
- Apply SOLID design principles in Go
- Master the Hexagonal Architecture design and its implementation
- Implement authentication and authorization using JWT access & refresh tokens
- Apply RBAC Authorization to APIs
- Understand how dependency injection works in Go
- Understand and implement the structured logging
- Build microservices API in Go
- Code Refactoring in Go
- Decoupling the domain objects and DTOs
- Working with small steps
- Take the informed decision on choosing various libraries
- Understand the role of multiplexer in HTTP web server
- Encoding structs to JSON or XML
- Understand the routing capabilities of gorilla/mux
- Design your own error library
- State based unit testing
- Unit testing using the mocks
In this course, you will learn microservices API development using the Hexagonal Architecture. We will start the development from the scratch. Taking the small steps, we will be building the foundation by continuously improving the design of the application. We will explore how the dependency inversion plays a pivotal role in implementing the Hexagonal architecture.
Later on, we will be building an auth API to manage the Authentication and Authorization of our main application.
By the end of the course, we will learn to unit test various components using state and mocks and will also understand the complexities in testing those components.