This BackEnd project is an API Restfull using Java, Spring Boot following the concepts of clean architecture.
The API was developed for studying and improvement of my technical backend skills also to demonstrate beginners and students how to implementing an Emails Shooting service as a core functionality of the application and others secondaries functions assigning other technologies.
To solve the core functionality I’m going to follow the Uber-Code-Challenger | email service using Amazon SES repository as a guide and meeting your functional requirements and business rules.
Follow the instructions provided below to configure and run the project.
- Clone the repository:
HTTP
https://github.com/ChristianHSousa/email-service.git
- Install dependencies with Maven
- Create and configure an identity at Amazon SES identity documentation
- Create and configue an IAM with Attach policies directly and only AmazonSESFullAccess Permission Policy;
- Set Region, Access key, Secret Key and SES Email identity on Enviroment Variables (application.properties) ;
- Start the application with Maven
- The API will be accessible at http://localhost:8080
🚧 This service accepts the necessary information and sends emails. It will provide an abstraction between two different email service providers. If one of the services goes down, the service can quickly fail over to a different provider without affecting the customers.🚧
- Java - Server-Side Java Execution Environment
- AWS SDK - AWS SDK for sending emails using Simple Email Service (SES)
- Spring - Spring framework to increase productivity in the development of java web applications.
The API provides the following endpoints:
POST SendEmail
POST /api/email – Send a new email through the app
{
"to": "[email protected]",
"subject": "teste Uber Challenger",
"body": " Hello world from Christian uber challenger test "
}
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request to the repository.
When contributing to this project, please follow the existing code style, commit conventions, and submit your changes in a separate branch.