Module Inventory & Port Allocation
OmniNet is a polyglot microservices platform. The Java services share a Maven multi-module build under omninet-microservices/. The Go chat service is an independent module.
Module Overview
| Module | Language | HTTP Port | gRPC Port | Database | Primary Role |
|---|---|---|---|---|---|
omninet-proto | Java | — | — | — | Protobuf definitions and generated gRPC stubs |
omninet-common | Java | — | — | — | Shared DTOs, security filters, exception handlers, Kafka event definitions |
api-gateway | Java | 8080 | — | Redis | Reactive Spring Cloud Gateway; JWT validation; Redis token blacklist; Rate Limiting; CORS; Header enrichment |
auth-service | Java | 8081 | 9091 | omninet_auth | JWT auth, refresh rotation, OAuth2 (Google/GitHub), OTP email registration, Kafka producer |
storage-service | Java | 8082 | 9095 | omninet_storage | S3/MinIO, presigned URLs, folder management, quota enforcement, StorageGrpcService, Kafka consumer |
notes-service | Java | 8083 | 9093 | omninet_notes | Notes CRUD, categories, todos, recycle bin, search, StorageGrpcClient, Kafka |
ai-service | Java | 8084 | 9094 | omninet_ai | Gemini AI chat, Ollama fallback, SSE streaming, voice STT, web search tool calling |
chat-service | Go | 8085 | — | omninet_chat | Real-time WebSocket chat, hub, Redis Pub/Sub fan-out, presence, reactions, DM/Group conversations |
omninet-security-web | JS/JSX | 5173 | — | — | React SPA; connects to API Gateway (:8080) and Chat Service (:8085) |
Java Maven Dependency Graph
omninet-proto (Protobuf stubs)
└── omninet-common (shared utils)
├── api-gateway
├── auth-service
├── storage-service
├── notes-service → gRPC client → storage-service
└── ai-service → gRPC client → storage-serviceGo Chat Service — Independent Module
The chat-service/ is a standalone Go module (go.mod) with no dependency on the Maven build:
chat-service/
├── cmd/main.go # Entry point — wires all components
├── internal/
│ ├── hub/ # WebSocket hub + event handlers + Redis fan-out
│ ├── handlers/ # HTTP handlers (conversations, messages, presence)
│ ├── repository/ # PostgreSQL repos (messages, conversations, presence)
│ ├── auth/ # JWT validator
│ ├── cache/ # Redis client + presence/typing helpers
│ ├── middleware/ # CORS + JWT auth middleware
│ ├── models/ # Shared data types
│ └── config/ # Environment config loader
├── Dockerfile
├── go.mod
└── go.sumMaven Reactor Build Order
[INFO] Omninet Microservices ................................ SUCCESS
[INFO] Omninet Proto ........................................ SUCCESS
[INFO] Omninet Common ....................................... SUCCESS
[INFO] Omninet Auth Service ................................. SUCCESS
[INFO] Omninet API Gateway .................................. SUCCESS
[INFO] Omninet Storage Service .............................. SUCCESS
[INFO] Omninet Notes Service ................................ SUCCESS
[INFO] Omninet AI Service ................................... SUCCESS
[INFO] BUILD SUCCESSBuild all Java modules:
bash
cd omninet-microservices
mvn clean install -DskipTestsBuild the Go chat service separately:
bash
cd omninet-microservices/chat-service
go build ./cmd/...