Skip to content

Wladysson/NotPush

Repository files navigation

NotPush

⚠️ Project Status: Planning

This project is currently in the architecture planning phase, where the microservices, communication flows, and infrastructure are being designed. The implementation will be developed incrementally, focusing on scalability, reliability, and production-ready distributed system practices.


📖 About the Project

NotPush is a distributed notification platform designed to process and deliver large-scale notifications across multiple communication channels, including Email, SMS, and Push Notifications.

The goal is to build a highly scalable system capable of handling millions of notification requests asynchronously while maintaining low latency, high availability, and reliable message delivery.

A central notification service will receive incoming requests and publish events to a distributed messaging platform using Apache Kafka (or AWS SQS). Specialized consumer services will independently process each notification channel following the Fan-Out messaging pattern, enabling loose coupling, horizontal scalability, and fault isolation.

The platform is designed around advanced backend concepts such as multithreading, concurrency, asynchronous processing, and I/O optimization to efficiently support traffic spikes and high-throughput workloads while ensuring message durability and delivery guarantees.

Notification logs and delivery statuses will be stored in Amazon DynamoDB, providing fast and scalable read/write operations for large volumes of data.

The final solution will consist of multiple independent microservices running on Kubernetes, communicating through event-driven messaging and following Domain-Driven Design (DDD), Clean Architecture, and Event-Driven Architecture principles, closely resembling the architecture used by modern large-scale notification platforms.

Releases

No releases published

Packages

 
 
 

Contributors

Languages