NotifyX

๐Ÿš€ NotifyX โ€” AI-Powered Real-Time Notification System

A production-grade, AI-driven event system built using Spring Boot, Kafka, Kafka Streams, Gemini AI, and WebSockets.


๐Ÿ”ฅ Overview

NotifyX is an intelligent notification system that delivers real-time updates with:


๐Ÿงฑ Tech Stack

Layer Technology
Backend Spring Boot 3
Messaging Apache Kafka
Streaming Kafka Streams
AI Engine Gemini API
Realtime WebSockets (STOMP + SockJS)
Database PostgreSQL
Frontend HTML + JavaScript
Build Tool Maven

๐Ÿ—๏ธ Architecture Diagram

Architecture Diagram


โšก Features

๐Ÿค– AI Intelligence


๐Ÿš€ Backend


๐ŸŒŠ Kafka Streams


๐Ÿ”ด Frontend UI


๐ŸŒ API

Send Event

POST /api/events

Body

{
  "userId": "user123",
  "type": "payment",
  "message": "Payment failed due to insufficient balance"
}

โš ๏ธ Priority is automatically handled by AI


Get Notifications

GET /api/notifications/{userId}

โšก WebSocket

/ws

Subscribe:

/topic/notifications

๐Ÿš€ Getting Started

Prerequisites


Run

mvn spring-boot:run

Open UI

http://localhost:8080/index.html

๐Ÿงช Sample Events

๐Ÿ”ด High Priority

{
  "userId": "user1",
  "type": "payment",
  "message": "Payment failed due to insufficient balance"
}

๐ŸŸข Low Priority

{
  "userId": "user1",
  "type": "promo",
  "message": "Big discount available!"
}

๐Ÿง  Use Cases


๐Ÿ‘จโ€๐Ÿ’ป Author

Akash Adak Backend โ€ข DevOps โ€ข Distributed Systems


โญ Star this repo if you like it!