This project it's a sample for notification system. In this application you cand send:
- Email (Sendgrid, Mailgun, Onesignal)
- SMS (Amazon SNS, Onesignal)
- Push Notification (Firebase, Onesignal)
- Whatsapp (Twilio)
- Telegram (Telegram API)
- Docker v20.10.11
- Docker Compose v1.28.4
- Go v1.19
Please follow example.env
# make test on the same condition where it's executed on CI
make test
# developer on docker
make dev
# prune for container, volumes and image
make clean/docker
# install dependecies on local
go mod download
# run server on local
go run ./cmd/http_server.go
# run test
go test ./... -v -coverpkg=./... -coverprofile=c.out
# take a look on coverage file in html after test
go tool cover -html=c.out -o cover.html
# run lint
$HOME/go/bin/revive -formatter friendly ./...
go get -u all
go mod tidy
- Add Template system
- Add Queue to retry notifications