Buyzy Micro Service Backend

Backend
UI/UX
Buyzy Micro Service Backend

Tech Stack

Java Spring
Python
Typescript
Node.js
express.js
FastAPI
PostgreSQL
MongoDB
AWS
CI/CD
Redis
Docker

Description

Buyzy’s hybrid microservices architecture combines multiple technologies and databases to achieve high scalability, reliability, and deployment independence.

  • These services, responsible for user authentication and login, are developed using FastAPI (Python) with PostgreSQL to deliver high-speed authorization and maintain strong relational data integrity for sensitive user information.
  • Order Management Services: Handling the complex logic of Order Creation. This service developed with Java Spring (Spring Boot) and backed by PostgreSQL. The choice of Spring provides an enterprise-grade framework suitable for complex, transactional business logic.
  • Product Service: Managing product catalogs and critical updates like Product Stock Count Deduction. This service is implemented with Express.js (Node.js) and utilize MongoDB. This NoSQL approach allows for greater flexibility and speed in handling varied and rapidly evolving product data.
  • Asynchronous Communication (RabbitMQ): This message broker ensures that services remain decoupled. For instance, following Order Creation, the Order Service publishes an event to RabbitMQ, allowing the Inventory Service to perform the necessary Stock Count Deduction asynchronously, thereby preventing system bottlenecks.
  • High-Speed Caching (Redis): Redis is integrated as an in-memory data store for caching frequently accessed data and managing sessions. This significantly boosts performance, particularly for recurrent User Login verifications and product lookups, reducing direct load on the primary databases.

Page Info

Request and Responses Design with Postman

This part of the project showcases how REST API requests and responses are designed, documented, and tested with Postman.

/projects/microservice/user.png/projects/microservice/product.png/projects/microservice/order.png

Docker Containers

Uses Docker containers to run RabbitMQ, Redis, and PostgreSQL, ensuring consistent environments and simplified service management.

/projects/microservice/docker.png

RabbitMQ

Implements RabbitMQ message queues to ensure reliable and efficient data handling between services.

/projects/microservice/rabbit_exchange.png/projects/microservice/rabbit_stream.png