go-email-consumer-aws-sqs

command module
v0.0.0-...-27519f8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2024 License: MIT Imports: 9 Imported by: 0

README

Go Email Consumer with AWS SQS & AWS SES


Java BSD Clause 3


Overview

This project provides a production-ready Golang email consumer service utilizing AWS SQS (Simple Queue Service) and AWS SES (Simple Email Service). The service is designed for high availability, scalability, and blazing fast performance. It's Dockerized for easy development and deployment.

Table of Contents

Technologies

Features

  • AWS Integration: Utilizes AWS SQS for message queuing and AWS SES for sending emails.
  • High Availability: Designed to maintain service availability even during high loads or failures.
  • Scalability: Easily scalable to handle varying loads of email processing.
  • Blazing Fast Performance: Optimized for performance to ensure quick processing of email requests.
  • Dockerized: Packaged as Docker containers for seamless development and deployment.
Prerequisites

Before running this service, ensure you have the following prerequisites installed:

  • Docker: Install Docker
  • AWS Account: Obtain AWS credentials and configure them locally.

Environment Variables

Table bellow shows the obligatory environment variables for mariadb container. You should set them based on what was also set for backend container.

Environment variable Default value Optional
STAGE dev NO
SQS_URL YES
AWS_REGION YES
AWS_ACCESS_KEY YES
AWS_SECRET_ACCESS_KEY YES

Getting started

First of all, correctly configure the Golang development environment on your machine, see https://go.dev/doc/install

- Clone this repository:
$ git clone https://github.com/swarajkumarsingh/go-email-consumer-aws-sqs.git

- Enter in directory:
$ cd go-email-consumer-aws-sqs

- For install dependencies(optional):
$ make run SQS_URL= AWS_REGION= AWS_ACCESS_KEY= AWS_SECRET_ACCESS_KEY=

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these guidelines:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and test thoroughly.
4. Commit your changes with clear commit messages.
5. Create a pull request against the main branch.

Contact

License

You can check out the full license here

This project is licensed under the terms of the MIT license

Acknowledgments

Special thanks to AWS for providing powerful cloud services and Golang community for building robust frameworks and libraries.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL