Started rest API with clean architecture monorepo golang
Table of Contents
- copy environment by services
cp .env.example .env
- sync go modules
go mod tidy
- Run
sh run-service.sh service-name
- Build for all services
docker-compose build
- Run docker
docker-compose up -d
- See docker running
docker ps
Service Name | Port HTTP | Port RPC |
---|---|---|
auth | 8083 | 9083 |
user | 8084 | 9084 |
storage | 8085 | 9085 |
notification | 8086 | 9086 |
Here I will provide the information that the service needs to set some default configurations.
You can see all endpoints at the following link: Endpoints Go Architecture Monorepo
In the notification service you must save templates for email and FCM needs, here I will provide an example payload to save to the database. You can modify as you wish, you need to know that the use of email and FCM templates must be different. If they are the same then the concept of both should be the same as the welcome template.
Welcome:
{
"name": "welcome",
"data": {
"title": {
"id": "Selamat Datang",
"en": "Welcome"
},
"body": {
"id": "Hai {{.name}}, kamu telah menjadi bagian dari kami.",
"en": "Hi {{.name}}, you have become one of us."
}
}
}
Email Verified:
{
"name": "email-verified",
"data": {
"title": {
"id": "Pemberitahuan Reset Kata Sandi",
"en": "Reset Password Notification"
},
"link": {
"id": "{{.link}}",
"en": "{{.link}}"
}
}
}
Password Reset:
{
"name": "password-reset",
"data": {
"title": {
"id": "Pemberitahuan Reset Kata Sandi",
"en": "Reset Password Notification"
},
"link": {
"id": "{{.link}}",
"en": "{{.link}}"
},
"expire": {
"id": "{{.expire}}",
"en": "{{.expire}}"
}
}
}
You can add templates via endpoint
/v1/notification/template
.