NotificationServer/README.md

50 lines
1.4 KiB
Markdown

# Notification System
A scalable backend system for managing and delivering various types of notifications using modern technologies.
## Overview
This project demonstrates a notification processing pipeline built with Java Spring Boot, Apache Kafka, and MongoDB. It processes notification requests from multiple sources and delivers them through different channels (email, SMS, push notifications).
## Tech Stack
- **Java 17+**: Core programming language
- **Spring Boot 3.2.x**: Application framework
- **Apache Kafka**: Message queue for notification processing
- **MongoDB**: Database for storing notification records
- **Maven**: Build and dependency management
## Features
- REST API for notification submission
- Asynchronous processing with Kafka
- Multiple notification types (Email, SMS, Push)
- Status tracking and delivery confirmation
- Retry mechanisms for failed notifications
- Metrics and monitoring endpoints
## Getting Started
### Prerequisites
- Java JDK 17 or 21
- Maven (or use the Maven wrapper)
- MongoDB (local installation or Docker)
- Kafka (local installation or Docker)
### Running the Application
1. Clone the repository
```
git clone https://www.alexselimov.com/git/aselimov/NotificationServer.git
cd NotificationServer
```
2. Build and run the application
```
mvn spring-boot:run
```
3. The service will be available at `http://localhost:8080`