A microservices-based authentication and background-processing platform built with Python (Flask), MySQL, RabbitMQ, and designed for Kubernetes deployment.
This project demonstrates how to design and deploy a production-style microservices architecture for user authentication and async workloads.
It uses JWT-based auth, an API gateway, and message-driven services to cleanly separate concerns between request handling, background processing, and notifications.
auth-microservices-platform/
├── src/
│ ├── auth/
│ ├── converter/
│ ├── gateway/
│ ├── notification/
│ └── rabbit/
-
Auth Service – Handles user registration, login, JWT generation/verification, and stores user data in MySQL.
-
Gateway Service – Public-facing API gateway that authenticates requests and routes to internal services.
-
Converter Service – Consumes messages from RabbitMQ to run background jobs off the main request path.
-
Notification Service – Sends notifications asynchronously based on events in the queue.
-
RabbitMQ – Message broker enabling reliable, decoupled communication between services.
-
Languages & Frameworks: Python, Flask
-
Data & Messaging: MySQL, RabbitMQ
-
Infra & Deployment: Docker, Kubernetes (manifests for each service)