Skip to content

ivanruizdev/microservices-billing-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Spring Microservices Billing Platform

A modular and scalable billing system built using Spring Boot and Spring Cloud, following the Microservices Architecture. This project demonstrates how to create a production-ready backend platform that includes customer management, product catalog, invoicing, authentication, and secure communication between services.


πŸš€ Features

  • πŸ” Authentication & Authorization with JWT and OAuth2
  • πŸ‘₯ Customer Management microservice
  • πŸ“¦ Product Management microservice
  • 🧾 Invoice & Billing microservice
  • 🌐 API Gateway (Spring Cloud Gateway)
  • πŸ” Service Discovery (Eureka)
  • βš™οΈ Centralized Configuration (Spring Cloud Config)
  • πŸ“¬ Async Messaging using RabbitMQ
  • 🧠 Caching with Redis
  • πŸ“ˆ Monitoring with Prometheus and Grafana
  • πŸ“¦ Dockerized and Kubernetes-ready

πŸ“Œ Architecture Overview

A microservices-based system using RESTful communication, event-driven messaging, and cloud-native principles.

Planned Components:

  • auth-service: Manages user registration, login, and role-based access.
  • customer-service: CRUD operations for customers.
  • product-service: Product catalog with pricing and availability.
  • billing-service: Invoice generation and billing logic.
  • api-gateway: Central entry point and request router.
  • discovery-service: Service registration and discovery using Eureka.
  • config-service: Centralized configuration management.
  • common-lib: Shared DTOs, utilities, and exceptions.

πŸ“ Detailed architecture diagram coming soon...


πŸ› οΈ Tech Stack

  • Java 21
  • Spring Boot 3
  • Spring Cloud
  • Spring Security + OAuth2 + JWT
  • PostgreSQL / MySQL
  • Redis
  • RabbitMQ / Kafka (Optional)
  • Docker & Docker Compose
  • Kubernetes (K8s)
  • Prometheus + Grafana

πŸ’» Running the Project

The easiest way to start is using Docker Compose. Detailed instructions will be added once core services are implemented.

docker-compose up --build

About

A modular microservices-based platform built with Spring Boot and Spring Cloud, supporting customer, product, and billing management. Features secure authentication using JWT, service discovery via Eureka, async messaging with RabbitMQ, and system monitoring with Prometheus and Grafana. Fully containerized.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors