Skip to content

Repository files navigation

FeedManager

A simple RSS feed manager / aggregator, similar to Feedly. This repository is an experimental playground for Orleans grains, a Razor Pages web client, and background services.

Current implementation highlights

  • Orleans-based grains implement the feed aggregation and per-feed grains.
  • Razor Pages web UI (FeedManager.WebClient) provides the user-facing frontend.
  • Backchannel events use MassTransit with Redis as the message/transport used in the provided Docker Compose configuration.
  • Redis is used for storage and as the message broker in the compose setup.
  • Traefik is used as the reverse proxy / router for web traffic.
  • OpenTelemetry (OTLP) is wired up for traces/metrics and exposed to the bundled OTLP/grafana image.
  • RedisInsight is provided for inspecting the Redis instance.

Running with docker-compose

The repository includes a docker-compose.yml that starts the following services:

Service Description
feedmanager.silo Orleans silo (background processing)
feedmanager.webclient Razor Pages web UI
redis Redis (storage + message broker)
redisinsight RedisInsight UI
traefik Reverse proxy and dashboard
otlp Grafana/LGTM image for all-in-one OpenTelemetry based telemetry

Mermaid architecture diagram (based on docker-compose)

flowchart
  Users["External Users"] -->|HTTP| Traefik["Traefik"]
  Traefik --> WebClient["FeedManager.WebClient"]
  Traefik --> Silo["FeedManager.Silo"]
  WebClient --> Redis["Redis"]
  Silo --> Redis
  Redis --> RedisInsight["RedisInsight"]
  WebClient --> OTLP["OTLP"]
  Silo --> OTLP
Loading

Notes

  • The compose setup exposes services and connects them to the configured Docker network so Traefik can route traffic to the web UI and API endpoints.
  • MassTransit consumers and publishers are registered in the app code; the compose file supplies Redis which is used as the transport when running locally via Docker.
  • OpenTelemetry collector / Grafana (otlp image) is available on ports configured in docker-compose for easy inspection of traces/metrics.

About

A simple RSS feed manager/aggregator, similar to Feedly. This project is, at this time, only ment to be used to play around with the Microsoft Orleans framework and the Actor Pattern. It is not ment to be used, but who knows how things work out :-)

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages