Skip to content

Personalised News Aggregator

A microservices platform combining Spring Boot backends, a Next.js frontend, and a Python GenAI service.

Architecture

Service Description
API Gateway Spring Cloud Gateway MVC — routes, CORS, JWT validation, Swagger UI
User Service OAuth2 Authorization Server, user profiles, settings (MongoDB)
Content Service RSS feed management, articles, topics (MongoDB)
GenAI Service Python FastAPI + LangChain — summarization, sentiment, recommendations
Web Client Next.js + React 19 + TypeScript

Deployment paths

  1. Local — Docker Compose (Deployment Testing)
  2. Azure VM (CI/CD) — GitHub Actions → ACR → az vm run-command (Azure CD Pipeline)
  3. Azure VM (manual) — Terraform → Ansible → Docker Compose (Azure VM Deployment)
  4. Kubernetes (CI/CD) — GitHub Actions → GHCR → Helm deploy (Kubernetes CD Pipeline)
  5. Kubernetes (manual) — Helm chart (Helm) or raw manifests (K8s)

Quick start

cp infra/.env.example infra/.env    # fill in required values
make compose-up                     # start the local dev stack
make smoke-test                     # verify endpoints

See Deployment Testing for the full checklist, and Secrets & Environment Variables for all configuration options.

Developing

make generate       # regenerate OpenAPI spec + consumer clients
make spring-build   # compile and test Spring services
make preflight      # full pre-flight: generate, build, lint helm, validate terraform

See OpenAPI Workflow for the code-first spec pipeline.