Skip to content

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 ​

ModuleLanguageHTTP PortgRPC PortDatabasePrimary Role
omninet-protoJava———Protobuf definitions and generated gRPC stubs
omninet-commonJava———Shared DTOs, security filters, exception handlers, Kafka event definitions
api-gatewayJava8080—RedisReactive Spring Cloud Gateway; JWT validation; Redis token blacklist; Rate Limiting; CORS; Header enrichment
auth-serviceJava80819091omninet_authJWT auth, refresh rotation, OAuth2 (Google/GitHub), OTP email registration, Kafka producer
storage-serviceJava80829095omninet_storageS3/MinIO, presigned URLs, folder management, quota enforcement, StorageGrpcService, Kafka consumer
notes-serviceJava80839093omninet_notesNotes CRUD, categories, todos, recycle bin, search, StorageGrpcClient, Kafka
ai-serviceJava80849094omninet_aiGemini AI chat, Ollama fallback, SSE streaming, voice STT, web search tool calling
chat-serviceGo8085—omninet_chatReal-time WebSocket chat, hub, Redis Pub/Sub fan-out, presence, reactions, DM/Group conversations
omninet-security-webJS/JSX5173——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-service

Go 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.sum

Maven 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 SUCCESS

Build all Java modules:

bash
cd omninet-microservices
mvn clean install -DskipTests

Build the Go chat service separately:

bash
cd omninet-microservices/chat-service
go build ./cmd/...

Released under the MIT License.