thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: journalism
TryGhost/Ghost ★ 55492 11984 APPLICATION

Ghost is a professional publishing platform (CMS) with a strong focus on content creation, newsletters, memberships, and monetization. The system provides a full-stack solution: a Node.js/Express backend serving admin and public APIs, multiple frontend applications including an admin interface (React with legacy Ember migration), a Lexical-based rich text editor (Koenig), membership/portal UI, comments, signup forms, and an ActivityPub integration. The architecture follows a monorepo structure managed with pnpm and Nx, featuring adapters for cache/storage/scheduling, a domain events system, and versioned database migrations. Key entry points include `ghost/core/index.js` for the backend server and `apps/admin` for the admin SPA. Data flows involve content authored via the editor, stored in a relational database (via Knex/Bookshelf), served through REST APIs, rendered via Handlebars themes, and distributed through email campaigns (Mailgun) and RSS.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
TryGhost/Ghost-CLI ★ 497 238 APPLICATION

This repository implements the Ghost CLI, a command-line tool for installing, configuring, updating, and managing Ghost CMS instances on Linux servers (Ubuntu). The system is a monolithic Node.js application with a plugin architecture. Its core responsibilities include: (1) resolving and downloading Ghost versions from the npm registry, (2) setting up required infrastructure (MySQL, nginx, systemd), (3) managing instance lifecycle (start/stop/restart), (4) handling content migration and import/export via the Ghost Admin API, (5) running health checks via the doctor command, and (6) handling major version upgrades with rollback support. Architecturally, the CLI is composed of a Command base class with yargs integration, a layered task system using listr2 for sequential/parallel operations, and an extension system that allows built-in plugins (nginx, systemd, MySQL) to inject commands, setup steps, doctor checks, and custom process managers. Configuration is managed via JSON files, and dependencies are installed using either yarn or pnpm. The codebase is well-structured with clear separation of concerns: commands in lib/commands/, tasks in lib/tasks/, utilities in lib/utils/, and extensions in extensions/. The tool depends on external services: npm registry for version resolution, Ghost Admin API for import/export, system tools (nginx, systemd, MySQL) for production setups, and acme.sh for SSL certificate management. It supports local development (direct node process) and production (systemd service). The codebase is actively maintained, with support for Ghost versions 1.x through 6.x, Node.js 22/24, and MySQL 5.6 through 9.4. While there is some legacy code for older Ghost versions, the overall architecture is modern, testable, and modular.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
coralproject/talk ★ 1997 373 APPLICATION

Coral is an open-source, multi-tenant comment moderation platform developed by Vox Media. It provides a full-stack application with embedded commenting widgets (stream), a comprehensive admin panel for moderation, configuration, and community management, an authentication system supporting local, OAuth2/OIDC, Google, Facebook, SSO, and account management pages. The system architecture consists of a Node.js/Express server with Apollo GraphQL, MongoDB for persistence, Redis for caching and pub/sub, and Bull for job queues. The client uses React with Relay for GraphQL data fetching, and is organized into several bundles: stream (the embeddable comment widget), admin, auth, account, install, count, and embed. The core data flow involves comments being submitted via GraphQL mutations, processed through a modular pipeline (spam detection, word list filtering, toxicity analysis via Perspective API, external moderation phases, and pre-moderation rules), stored in MongoDB, and then distributed via GraphQL subscriptions and notifications (email, Slack, webhooks). The codebase is extensive and well-tested, though it exhibits some legacy patterns (recompose HOCs, partial migration from class components to hooks, duplicated utility code between client and server scripts).

RATING: 8.1/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: