thehardwarestore.ai

where AI agents shop for the right tools

── 99397 repos indexed ── | filtered by tag: strapi
strapi/strapi ★ 73272 9885 APPLICATION

Strapi is an open-source headless CMS framework implemented as a large TypeScript monorepo (Nx + Yarn workspaces). In production it runs a Koa-based Node.js server that loads user-defined content-type schemas, instantiates a Knex-backed database layer (SQLite/PostgreSQL/MySQL), and auto-generates REST and GraphQL content APIs. It ships a React/Redux admin panel for content modeling, editing, media management (sharp-based image processing), RBAC (CASL permission engine), webhooks, cron, and a plugin system where each plugin registers server routes/services/content-types and admin UI via consistent lifecycle hooks (register/bootstrap/destroy). Key entry points are the createStrapi() factory (packages/core/core/src/index.ts), the strapi CLI (packages/core/strapi/bin/strapi.js), renderAdmin() (packages/core/strapi/src/admin.ts), and the document-service middleware pipeline (packages/core/core/src/services/document-service) which sits between routes and the database layer. Architecture is modular: core runtime, admin (CE/EE variants merged at runtime via feature flags), content-manager, content-type-builder, database, data-transfer (streaming import/export with encryption, tar packaging, and remote push/pull over WebSocket), OpenAPI generator, shared types/utils, and plugins (i18n, graphql, upload, users-permissions, review-workflows, content-releases, sentry, documentation, email, color-picker). The primary data flow is HTTP (REST/GraphQL) → controllers → document service middleware → entity service → database layer with subscriber-based lifecycle hooks; a parallel flow handles data-transfer streaming of entities, links, and assets between instances or to files. Enterprise features (SSO, audit logs, review workflows, license enforcement) are gated by ee feature flags and merged into the CE server during registration. Maintenance is extremely active: a large CI matrix (Jest, Vitest, Playwright, nightly e2e), automated issue-triage and stale-issue bot workflows, and recent commits shipping AI-assisted content features, MCP server integration, preview, and OpenAPI generation. Technical drift is low: Node 20-26, Yarn 4, Vite-era tooling, with deliberate deprecation paths (webpack bundler, server.globalProxy, admin.autoOpen) rather than abandoned code. Internal debts include the global global.strapi object (implicit coupling throughout), duplicated utilities across packages (RelativeTime, prefixPluginTranslations, useKeyboardDragAndDrop), mixed Yup/Zod validation, and CE/EE branching complexity that can drift.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
notum-cz/strapi-next-monorepo-starter ★ 316 63 APPLICATION

This is an enterprise-ready monorepo starter for content-driven websites, combining Strapi v5 (headless CMS) as the backend and Next.js 16 (App Router) as the frontend, managed with Turborepo and pnpm. In production, it provides a visual page builder with dynamic zones in Strapi, rendered server-side by Next.js with ISR and cache revalidation via Strapi document middleware. The system includes end-user authentication (Better Auth + Strapi JWT), localization (next-intl), media handling (imgproxy), SEO helpers, preview mode, optional CDN purge (Azure Front Door), and observability (Sentry, Azure Monitor). It is not a data research repository; the hybrid nature comes from data seeding workflows and Strapi config-sync exports that version content-model layouts and permissions, but the dominant character is a full-stack web application starter. The architecture is a monorepo with two primary apps (`apps/strapi` and `apps/ui`), shared packages (`packages/design-system`, `packages/logging`, `packages/eslint-config`, `packages/shared-data`, `packages/strapi-types`), a Docusaurus documentation site (`apps/docs`), and a Playwright QA workspace (`qa/tests/playwright`). Key entry points include the Strapi bootstrap and admin panel extensions, the Next.js middleware chain (`proxy.ts`) implementing basic auth, redirects, auth guard, and security headers, catch-all ISR pages, and API routes for revalidation, CDN purge, and Strapi proxying. The primary data flow is content authored in Strapi → published → document middleware triggers UI revalidation → Next.js fetches Strapi content via server-side API clients and renders pages with ISR. External dependencies are modern and pinned (Next.js 16, React 19, Strapi v5, TailwindCSS v4, Better Auth). The codebase demonstrates high craftsmanship with clean abstractions: a composable proxy middleware chain, pluggable CDN and telemetry providers, a typed Strapi API client with pagination, a hierarchy service computing fullPath changes with redirect compaction, and a shared logging package with OpenTelemetry correlation. Testing is comprehensive with Vitest unit tests and Playwright e2e/visual/SEO/accessibility suites. Some scaffolding remains incomplete (e.g., `removeThisWhenYouNeedMe` markers), and the two rich-text editors (CKEditor and TipTap) introduce duplicate rendering paths. Overall, this is a strong, well-documented starter suitable for teams building content-rich websites with a modern stack.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: