@@ -16,6 +16,7 @@ The system follows a microservices architecture pattern with the following key c
1616- ** Business Services** : Multiple Play Framework-based microservices
1717- ** Database** : PostgreSQL for data persistence
1818- ** Caching** : Redis for performance optimization
19+ - ** Message Queue** : Message queuing system for asynchronous processing
1920- ** External Services** : Mailtrap for email delivery, Cloudinary for file storage
2021
2122## 🚀 Core Services
@@ -119,20 +120,35 @@ The system follows a microservices architecture pattern with the following key c
119120- ** Redis** : In-memory data structure store
120121- ** Use Cases** : Session storage, API response caching, real-time data
121122
123+ ### ** Message Queue**
124+ - ** Purpose** : Asynchronous message processing and service communication
125+ - ** Use Cases** : Background job processing, event-driven architecture, service decoupling
126+
122127### ** External Services**
123128- ** Mailtrap** : Email testing and delivery service
124129- ** Cloudinary** : Cloud-based image and video management platform
125130
126131## 🔄 System Flow
127132
1281331 . ** User Access** : Users access the React frontend application
129- 2 . ** API Gateway** : All requests are routed through Kong Gateway
134+ 2 . ** API Gateway** : All requests are routed through Kong Gateway for load balancing and routing
1301353 . ** Authentication** : Keycloak handles user authentication and authorization
131- 4 . ** Service Communication** : Microservices communicate via REST APIs
132- 5 . ** Data Persistence** : PostgreSQL stores all application data
133- 6 . ** Caching** : Redis improves performance with intelligent caching
134- 7 . ** Real-time Updates** : WebSocket service enables live collaboration
135- 8 . ** External Integration** : Mailtrap and Cloudinary handle specialized functions
136+ 4 . ** Service Routing** : Kong Gateway routes requests to appropriate microservices:
137+ - Identity Service
138+ - Comment Service
139+ - Notification Service
140+ - Workspace Service
141+ - WebSocket Service
142+ - Task Service
143+ - Mail Service
144+ - Project Service
145+ - Media Service
146+ 5 . ** Service Communication** : Microservices communicate via REST APIs
147+ 6 . ** Data Persistence** : PostgreSQL stores all application data
148+ 7 . ** Caching** : Redis improves performance with intelligent caching
149+ 8 . ** Message Queue** : Handles asynchronous processing and event-driven operations
150+ 9 . ** Real-time Updates** : WebSocket service enables live collaboration
151+ 10 . ** External Integration** : Mailtrap and Cloudinary handle email delivery and media storage
136152
137153## 📁 Project Structure
138154
@@ -153,6 +169,7 @@ smart-taskhub/
153169├── infrastructure/
154170│ ├── database/ # PostgreSQL Configuration
155171│ ├── cache/ # Redis Configuration
172+ │ ├── queue/ # Message Queue Configuration
156173│ └── keycloak/ # Authentication Configuration
157174└── docs/ # Documentation
158175```
@@ -165,21 +182,24 @@ smart-taskhub/
165182- Java 11+ (for backend services)
166183- PostgreSQL
167184- Redis
185+ - Message Queue system
168186
169187### Quick Start
1701881 . Clone the repository
1711892 . Set up environment variables
172- 3 . Start infrastructure services (PostgreSQL, Redis, Keycloak)
173- 4 . Deploy microservices
174- 5 . Launch the frontend application
175- 6 . Configure Kong Gateway routes
190+ 3 . Start infrastructure services (PostgreSQL, Redis, Message Queue, Keycloak)
191+ 4 . Configure Kong Gateway routes
192+ 5 . Deploy microservices (Identity, Comment, Notification, Workspace, WebSocket, Task, Mail, Project, Media)
193+ 6 . Launch the frontend application
176194
177195## 🔧 Configuration
178196
179197Each service requires specific configuration for:
180198- Database connections
181199- Redis cache settings
200+ - Message queue connections
182201- Keycloak authentication
202+ - Kong Gateway routing rules
183203- External service API keys (Mailtrap, Cloudinary)
184204- Service discovery and communication
185205
0 commit comments