Prasorganic Cart Service
Prasorganic Cart Service is one of the components in the Prasorganic Microservice architecture
Built with Go (Golang), this service supports operations for basket management
user shopping via RESTful API and gRPC.
Tech Stack
Features
-
Shopping Cart Management: Supports operations for adding, retrieving, and removing items from the cart.
-
RESTful API: Provides a RESTful API using Fiber with various middleware for managing requests and responses.
-
gRPC: Utilizes gRPC for inter-service communication, equipped with interceptors for handling requests and responses.
-
Database: Uses PostgreSQL for data storage with database migration support.
-
Caching: Redis is used for data caching.
-
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.
-
System Resilience: Uses a Circuit Breaker to enhance application resilience and fault tolerance, protecting the system from cascading failures.
-
Configuration and Security: Employs 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
-
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.
-
PostgreSQL:
Licensed under PostgreSQL License. For more information,see the PostgreSQL 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.