Personalized News Update Aggregator

AI-powered microservice system for personalized news delivery.

Personalized News Update Aggregator
  • FastAPI
  • Flask
  • Dapr
  • Docker
  • RabbitMQ
  • Pickle Cache
  • Gemini AI
  • SMTP
  • Telegram Bot API

Core Features

  • User signup, login, and preference management via FastAPI service.
  • Aggregates and caches the latest news articles per user preference.
  • AI summarization of articles using Gemini or equivalent LLM models.
  • Delivers curated news via Email to users and via Telegram to managers.
  • Caching layer prevents redundant API calls for 24 hours to improve performance.
  • Complete Docker-Compose setup to orchestrate all services.

Architecture

  • FastAPI Service handles all incoming REST requests and exposes Swagger UI.
  • Flask Manager coordinates sub-services for user management, news aggregation, email, and Telegram bots.
  • Dapr provides service invocation and message passing between microservices.
  • RabbitMQ acts as message broker for reliable asynchronous communication.
  • Pickle-based caching persists fetched news for 24 hours to reduce API load.
  • Each microservice containerized with Docker and wired together in docker-compose.yml.

Technologies

  • FastAPI — entry point and public REST API with automatic docs (Swagger UI).
  • Flask — lightweight framework used for internal worker services.
  • Dapr — side-car pattern for inter-service communication and pub/sub messaging.
  • RabbitMQ — asynchronous queue handling tasks between workers.
  • Gemini AI — generates concise summaries of fetched news articles.
  • Pickle — file-based cache serialization for offline persistence.
  • Docker Compose — manages multi-container deployment.
  • SMTP & Telegram Bot API — deliver personalized notifications.

Key Highlights

  • Full microservice ecosystem (6+ containers) built from scratch with Python.
  • Combines real-time news aggregation with AI summarization.
  • Automatic preference-based content delivery across multiple channels.
  • Robust cache and messaging pipeline minimizing external API overhead.
  • Demonstrates production-grade architecture: FastAPI ↔ Flask ↔ Dapr ↔ RabbitMQ.