Miniflux is a self-hosted, minimalist RSS/Atom feed reader implemented as a monolithic Go web application. It relies exclusively on PostgreSQL for persistence and serves a server-rendered web UI, a comprehensive REST API, and compatibility endpoints for the Fever and Google Reader APIs. The application is designed for low resource consumption and easy deployment, evidenced by its single-binary nature and extensive packaging (Docker, RPM, Deb, systemd). The core strength of the codebase lies in its feed ingestion pipeline, which demonstrates exceptional defensive programming against the chaotic and non-standardized world of web feeds. This pipeline includes robust format detection (RSS, Atom, RDF, JSON Feed), character encoding detection for legacy charsets, a port of the Mozilla Arc90 readability algorithm for content extraction, a highly restrictive HTML sanitizer with SSRF protection, and a DSL-based content rewrite engine. The system supports multi-user authentication (local, OAuth2, WebAuthn), extensive third-party integrations (Discord, Slack, Telegram, Pinboard, etc.), and background job processing for feed refreshes. The codebase exhibits high craftsmanship with clean abstractions, consistent builder patterns, and thorough testing (unit, integration, fuzz). Several components, such as the SSRF-safe HTTP client builder, the readability extraction algorithm, the i18n pluralization engine, and the HTML sanitizer, are isolated, well-documented, and could be extracted for use in other Go projects. The project is actively maintained with modern Go features, zero Dependabot alerts, and a strong CI/CD pipeline. The main maintenance burden is the sprawl of third-party integrations and the monolithic JavaScript frontend, but the core Go server code is exceptionally well-engineered.
node-feedparser is a streaming RSS/Atom/RDF feed parser for Node.js. In production, it consumes XML from any readable stream and emits normalized feed metadata and article objects through a Transform stream. Consumers use the `meta` event for feed-level data, the `readable`/`data` events for individual items, or async iteration via `for await...of`. The parser handles real-world feed quirks: XML namespaces, CDATA, xml:base URL resolution, embedded HTML in content, duplicate enclosures, malformed XML, and SAX errors that can optionally be resumed past. A small CLI wrapper (`bin/feedparser.js`) allows piping feeds directly to JSON output. The architecture is a classic Node.js library rather than a service or pipeline. The core is `lib/feedparser.js`, which wires SAX events into a normalized model, with `lib/utils.js` providing URL resolution, HTML stripping, and namespace helpers, and `lib/constants.js` mapping namespaces to prefixes. There is no database, API server, or analytics layer. The library depends only on small utility packages (`sax`, `readable-stream`, lodash helpers, `mri` for the CLI), making it embeddable and portable. The repository includes an extensive Mocha test suite with realistic feed fixtures, TypeScript type definitions, and CI coverage across multiple Node.js versions. This is not a data-research repository; it is a general-purpose parsing utility with strong attention to edge cases in syndicated XML. The codebase is mature and actively maintained, with recent commits addressing parser edge cases and type definitions. Technical drift is moderate: some dependencies and code patterns (readable-stream v2, lodash v4, `var` usage) reflect an older Node.js baseline, though the package is still tested against modern Node versions.
ReactFlux is a modern, customizable web frontend for Miniflux, a self-hosted RSS reader. It is a client-side single-page application (SPA) built with React 19, Vite 8, and nanostores for fine-grained state management. The application provides a rich reading experience with multiple article layouts (list, card, column), dark/light/system themes, keyboard shortcuts, touch gestures, offline support via PWA, and internationalization (6 languages). It communicates exclusively with a Miniflux server through its REST API, handling authentication, feed/category management, article fetching, and status updates. The architecture follows a component-based design with clear separation of concerns: API layer (src/apis), state stores (src/store), custom hooks (src/hooks), reusable UI components (src/components/ui), and utility functions (src/utils). The codebase demonstrates good engineering practices with well-factored hooks for complex behaviors like optimistic entry actions, infinite scroll pagination, and long-press context menus. It also includes a settings schema with versioned migration and import/export, accessible modal and scroll area components, and a feed icon fetcher with fallback chain. While the project is actively maintained and uses modern dependencies, it lacks automated tests and has a large CSS footprint with many responsive overrides. The tight coupling to the Miniflux API and reliance on experimental React Compiler features introduce some maintenance risk. Overall, ReactFlux is a strong example of a feature-rich client-side application with reusable patterns, suitable for developers building similar RSS reader interfaces or learning advanced React patterns.