How manishrnl/microservice-industry-level-boiler-plate works
This is a reusable microservice platform with a React application in front of a Spring Cloud Gateway. A typical user journey enters through the browser, reaches a domain service through the gateway, and returns a feature result; the README documents the gateway routing and major feature set. Backend capabilities include identity and sessions, user profiles, files, payments, AI chat, notifications, audit, and observability. The graph preserves these product branches and documented infrastructure; internal arrows are limited to relationships shown in excerpts or the source index.
Main entry points: JwtAuthenticationFilter.java API gateway · ConfigServerHomeController.java Config server · AuthService.java Authentication · PaymentService.java Payments
Components 27
User application
- React application
frontend/src/App.jsx - Home and dashboard
frontend/src/pages/HomePage.jsx - Profile management
frontend/src/pages/ProfilePage.jsx - AI chat UI
frontend/src/pages/ai/AiChatPage.jsx - Admin screens
frontend/src/pages/admin/SuperAdminDashboardPage.jsx
Gateway and platform control
- API gateway
backend/api-gateway/src/main/java/com/company/platform/gateway/filter/JwtAuthenticationFilter.java - Gateway observability
backend/api-gateway/src/main/java/com/company/platform/gateway/log/GatewayLogService.java - Config server
backend/config-server/src/main/java/com/company/platform/configserver/ConfigServerHomeController.java - Service discovery
backend/discovery-server/src/main/java/com/company/platform/discovery/DiscoveryServerApplication.java
Identity and users
- Authentication
backend/auth-service/src/main/java/com/company/platform/auth/service/AuthService.java - Session management
backend/auth-service/src/main/java/com/company/platform/auth/service/AuthSessionService.java - Auth email delivery
backend/auth-service/src/main/java/com/company/platform/auth/email/AuthEmailDeliveryService.java - User profiles and admin
backend/user-service/src/main/java/com/company/platform/user/service/AuthUserAdminService.java
Product services
- File management
backend/file-service/src/main/java/com/company/platform/file/service/FileMetadataCacheService.java - Payments
backend/payment-service/src/main/java/com/company/platform/payment/service/PaymentService.java - AI chat
backend/ai-service/src/main/java/com/company/platform/ai/service/AiChatService.java - AI provider adapters
backend/ai-service/src/main/java/com/company/platform/ai/provider/AiProviderFactory.java - Notifications
backend/notification-service/src/main/java/com/company/platform/notification/service/NotificationService.java - Audit records
backend/audit-service/src/main/java/com/company/platform/audit/service/AuditRecordService.java
Data and integrations
- PostgreSQL
- Redis
- Kafka
- MinIO storage
- Stripe
- Gemini and Groq
- SMTP or Brevo
Other components
- Browser user
Connections 42
- Browser user → React application: uses
README.md - React application → API gateway: calls backend
README.md - API gateway → Authentication: routes requests
README.md - API gateway → User profiles and admin: routes requests
README.md - API gateway → Notifications: routes requests
README.md - API gateway → Payments: routes requests
README.md - API gateway → File management: routes requests
README.md - API gateway → AI chat: routes requests
README.md - API gateway → Audit records: routes requests
README.md - API gateway → Gateway observability: records logs
backend/api-gateway/src/main/java/com/company/platform/gateway/log/GatewayLogService.java - Config server → API gateway: configures
README.md - Config server → Authentication: configures
README.md - Config server → User profiles and admin: configures
README.md - Config server → Notifications: configures
README.md - Config server → Payments: configures
README.md - Config server → File management: configures
README.md - Config server → AI chat: configures
README.md - Config server → Audit records: configures
README.md - Service discovery → API gateway: supports discovery
README.md - Service discovery → Authentication: supports discovery
README.md - Authentication → Session management: manages sessions
backend/auth-service/src/main/java/com/company/platform/auth/service/AuthService.java - Authentication → Auth email delivery: sends verification
backend/auth-service/src/main/java/com/company/platform/auth/service/AuthService.java - Auth email delivery → SMTP or Brevo: delivers email
backend/auth-service/src/main/java/com/company/platform/auth/email/AuthEmailDeliveryService.java - AI chat → AI provider adapters: selects provider
backend/ai-service/src/main/java/com/company/platform/ai/service/AiChatService.java - Authentication → PostgreSQL: persists identity
README.md - User profiles and admin → PostgreSQL: persists profiles
README.md - Notifications → PostgreSQL: persists notifications
README.md - Payments → PostgreSQL: persists payments
README.md - File management → PostgreSQL: persists metadata
README.md - AI chat → PostgreSQL: persists chat
README.md - Audit records → PostgreSQL: persists audit
README.md - API gateway → Redis: uses shared state
README.md - Authentication → Redis: uses shared state
README.md - AI chat → Redis: uses cache
README.md - Authentication → Kafka: publishes events
README.md - User profiles and admin → Kafka: publishes events
README.md - Payments → Kafka: publishes events
README.md - Notifications → Kafka: uses events
README.md - Audit records → Kafka: uses events
README.md - File management → MinIO storage: stores objects
README.md - Payments → Stripe: creates checkout
backend/payment-service/src/main/java/com/company/platform/payment/service/PaymentService.java - AI provider adapters → Gemini and Groq: dispatches prompts