This solution demonstrates multi-module projects using Golang, allowing the flexibility of re-usable modules across the solution
learn123/
├── src/
│ ├── api/
│ │ ├── common/
│ │ ├── modules/
│ │ │ └── course/
│ │ │ ├── v1/
│ │ │ │ └── course.controller.go
│ │ │ └── course.mapper.go
| | ├── go.mod
| | ├── go.sum
| | └── main.go
│ ├── infrastructure/
│ │ └── database/
│ └── learn123.events/
│ └── CourseCreatedEvent.go
| |
| |
├── .env.sample
├── .gitignore
- Go 1.17 or later
- Docker (optional, for database setup)
To run the application, use the following command:
make run- Common: Contains shared utilities and extensions.
- Modules: Contains feature modules like
course.
- Database: Contains database-related configurations and utilities.
- CourseCreatedEvent: Defines the
CourseCreatedevent structure.
This project is licensed under the MIT License.