π¬ GoTalkWithACS

A collection of use-case modules built with Golang to demonstrate how to work with Azure Communication Services (ACS). π
π Repository Structure
GoTalkWithACS/
β
βββ SendEmailWithACS/ # Email module with ACS
β βββ handler/ # Core email logic
β βββ helper/ # HMAC, hashing, formatting utilities
β βββ model/ # Payload and request models
β βββ email.go # Gin route to trigger email send
β βββ .env
β
βββ LICENSE
βββ README.md
β¨ Features
- β
Modular design for each ACS use-case
- β
Written in idiomatic Go
- β
Uses
gin-gonic for RESTful APIs
- β
Follows
.env pattern for clean secret management
- β
Supports contribution of new modules
π Getting Started
1οΈβ£ Clone the repo
git clone https://github.com/your-username/GoTalkWithACS.git
cd GoTalkWithACS/SendEmailWithACS
2οΈβ£ Set up your environment
Create a .env file inside SendEmailWithACS/:
Refer .env.example
3οΈβ£ Run the server
go run email.go
π οΈ Built With
π€ Contribution Guide
Want to add your own ACS module (like SMS or WhatsApp)? Awesome!
π Folder Naming Convention
- Each module must be a top-level folder:
SendSmsWithACS/, SendChatWithACS/, etc.
π§ Development Guidelines
- Use
gin for routes
- Follow
.env pattern
- Isolate helpers and models into their respective folders
π To contribute:
- Fork this repo
- Create your feature branch:
git checkout -b feature/AddSmsModule
- Commit your changes:
git commit -m 'Add SMS send module'
- Push to the branch:
git push origin feature/AddSmsModule
- Open a pull request
π¨βπ» Authors
π License
This project is licensed under the MIT License.
π Connect with Azure Communication Services
Want to explore more? Check out the official Azure ACS Docs.
---