Skip to content

Commit 729a16f

Browse files
Merge pull request #61 from nashtech-garage/update/microservice-architecture
update microservice architecture
2 parents 5ab0870 + c7ee0b1 commit 729a16f

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

MICROSERVICES_ARCHITECTURE.md

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

128133
1. **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
130135
3. **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
170188
1. Clone the repository
171189
2. 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

179197
Each 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

7.63 KB
Loading

0 commit comments

Comments
 (0)