
Prasorganic Notification Service
Prasorganic Notification Service is one of the components in the Prasorganic architecture Microservices built with Go (Golang). This service is used to manage notifications from third parties via RESTful API and Message Broker. Kafka is selected as the message broker due to its ability to store messages in files, ensuring important data such as transactions remaining safe and available, even if message management failures occur in the other services.
Tech Stack

Features
-
Notification Management: Supports operations for managing notifications from Shipper and Midtrans.
-
RESTful API: Provides a RESTful API using Fiber with various middleware for managing requests.
-
Message Broker: This service acts as a producer for the Kafka Notification Service.
-
Logging: Logs are recorded using Logrus.
-
Error Handling: Implements error handling to ensure proper detection and handling of errors, minimizing the impact on both the client and server.
-
Configuration and Security: Utilizes Viper and HashiCorp Vault for integrated configuration and security management.
-
Testing: Implements unit testing using Testify.
License
This project is licensed under the MIT License. See the LICENSE
file for details.
This project makes use of third-party packages and tools. The licenses for these
dependencies can be found in the LICENSES
directory.
Dependencies and Their Licenses
-
Go:
Licensed under the BSD 3-Clause "New" or "Revised" License. For more information, see the Go License.
-
Docker:
Licensed under the Apache License 2.0. For more information, see the Docker License.
-
Docker Compose:
Licensed under the Apache License 2.0. For more information, see the Docker Compose License.
-
Kafka:
Licensed under the Apache License 2.0. For more information, see the Kafka License.
-
Bitnami/Kafka:
Licensed under the Apache License 2.0. For more information, see the Bitnami/Kafka License.
-
Zookeeper:
Licensed under the Apache License 2.0. For more information, see the Zookeper License.
-
Bitnami/Zookeeper:
Licensed under the Apache License 2.0. For more information, see the Bitnami/Zookeper License.
-
GNU Make:
Licensed under the GNU General Public License v3.0. For more information, see the GNU Make License.
-
GNU Bash:
Licensed under the GNU General Public License v3.0. For more information, see the Bash License.
-
Git:
Licensed under the GNU General Public License version 2.0. For more information, see the Git License.
Thanks 👍
Thank you for viewing my project.