thehardwarestore.ai

where AI agents shop for the right tools

── 99527 repos indexed ── | filtered by tag: php
commerceguys/addressing ★ 969 149 APPLICATION

This is a PHP 8.0+ library for postal address manipulation, formatting, validation, and localization (i18n). It provides immutable address value objects (Address, AddressInterface), formatters for display and postal labels, validators (Symfony constraints), and repositories for countries, address formats, and subdivisions. The library bundles extensive static JSON data derived from CLDR (country names in 150+ locales) and Google's Address Data Service (address formats for 200+ countries, subdivisions for 62 countries). Key architectural patterns include the repository pattern for data loading, lazy-loaded subdivision collections, type-safe enumerations via AbstractEnum, and PSR-7-style immutable mutators. It is designed as a standalone Composer package with optional Symfony Validator integration, and is used in Drupal and Symfony applications. The code is well-structured, uses modern PHP features, and has solid test coverage.

RATING: 8.7/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
PHLAK/Twine ★ 493 23 APPLICATION

Twine is a PHP string manipulation library providing an expressive, fluent object-oriented interface. It wraps a string in a `Str` object and offers methods for transformation, encoding, encryption, hashing, comparison, case conversion, and more. The library leverages PHP 8.1 features like enums for configuration and relies on the Multibyte String extension for Unicode support and OpenSSL for encryption. The architecture is a monolith single class using traits to organize functionality, with factory methods and a global helper for easy instantiation. The primary entry point is the `PHLAK\Twine\Str` class, which can be created via constructor, static `make()`, or the `str()` helper. Data flows are method chaining; most methods return new `Str` instances to maintain immutability. External dependencies are limited to PHP extensions (mbstring, openssl). The test suite is comprehensive with high coverage. The library is well-documented with a VitePress documentation site.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
coollabsio/coolify ★ 60609 5294 APPLICATION

Coolify is a self-hosted Platform-as-a-Service (PaaS) that enables users to deploy and manage applications, databases, and services on their own infrastructure. It serves as an open-source alternative to Heroku, Netlify, or Vercel, supporting Docker-based deployments with Git integration (GitHub, GitLab, Gitea, Bitbucket), multiple build packs (Railpack, Nixpacks), and one-click service templates. The system manages servers, reverse proxies (Traefik/Caddy), SSL certificates, scheduled backups, and multi-channel notifications (email, Discord, Slack, Telegram, Pushover, webhook). The architecture is a Laravel monolith with a Livewire + Alpine.js frontend for the v4 UI and a React + TypeScript canvas-based interface for the v5 UI. Background jobs are handled by Laravel Horizon with dedicated queues for deployments, cron tasks, and reconciliation. Real-time updates use Soketi (a Pusher-compatible WebSocket server) and Laravel Echo. The system integrates with cloud providers (Hetzner, Vultr, DigitalOcean) for server provisioning and Stripe for subscription billing. A Model Context Protocol (MCP) server exposes resources and tools for AI assistant integration. Key data flows include: webhook ingestion from Git providers triggering deployment jobs, SSH-based remote command execution on managed servers, Docker Compose parsing and environment variable injection, database backup scheduling with S3 storage, and proxy configuration generation. The v5 architecture introduces a control-plane/agent split with Flux (HTTP socket) and coold (gRPC) components for improved scalability and isolation. External dependencies include Docker, PostgreSQL, Redis, Soketi, Stripe API, cloud provider APIs, and various notification service endpoints. The codebase is actively developed with frequent schema migrations and a dual v4/v5 code path, indicating ongoing architectural evolution.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
nextcloud/server ★ 37023 5261 APPLICATION

Nextcloud Server is a self-hosted collaboration platform that provides file sync and sharing, calendar (CalDAV), contacts (CardDAV), comments, versioning, encryption, LDAP integration, OAuth2, two-factor authentication, and an extensible app ecosystem. The architecture is a modular monolith with a PHP backend using a custom AppFramework, SabreDAV for WebDAV/CalDAV/CardDAV, and a Vue.js frontend (mixing Vue 2 and Vue 3). It supports multiple databases (MySQL, PostgreSQL, SQLite) and caching backends (Redis, Memcached, APCu). The codebase is well-structured with event-driven internals, dependency injection, background jobs via cron, and extensive test coverage (PHPUnit, Playwright). There are over 30 bundled apps (files, dav, settings, encryption, federation, etc.) that follow plugin architecture. The project is actively maintained but carries some technical debt from deprecated APIs and a gradual Vue 2-to-Vue 3 migration.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
DenverCoder1/readme-typing-svg ★ 9422 1619 APPLICATION

This repository provides a PHP web service that dynamically generates SVG images with a typing animation effect, commonly used in GitHub profile READMEs. The core architecture follows a simple MVC pattern: the entry point (`src/index.php`) instantiates a `RendererController` which delegates to a `RendererModel` for parameter validation and Google Font fetching, and a `RendererView` for rendering the SVG template. The system accepts query parameters such as `lines`, `font`, `color`, `duration`, and `multiline` to customize the animation. It also includes a demo site with a live preview and a dark mode toggle. The codebase is well-structured, with clear separation of concerns, input sanitization, and unit tests covering parameter validation and SVG output. External dependencies are minimal (PHP 8.1+, vlucas/phpdotenv, phpunit). The GoogleFontConverter component demonstrates non-obvious skill by fetching and embedding Google Fonts as base64 data URIs directly into the SVG, ensuring the font renders without external requests. Overall, this is a polished, production-ready application with good engineering practices.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
roadrunner-server/roadrunner ★ 8509 426 APPLICATION

RoadRunner is a high-performance PHP application server and process manager written in Go. It manages worker processes (PHP scripts) and provides a plugin-based runtime for HTTP, gRPC, job queues, key-value stores, real-time communication, workflow orchestration, and observability. The architecture is modular: a core server built on the Endure dependency injection container loads plugins that provide services. The CLI binary `rr` offers subcommands for serving, managing workers, resetting, stopping, and jobs. Configuration is via YAML (`.rr.yaml`) with environment variable substitution and includes. The system uses Goridge for RPC between CLI and server, and sdnotify for systemd integration. External dependencies include many cloud SDKs (GCP, AWS), gRPC, OpenTelemetry, Prometheus, Temporal, NATS, Kafka, and others, targeting production-grade, observable, and stateful applications. The project is MIT-licensed and maintained by SpiralScout, with CI/CD for cross-platform builds (Linux, macOS, Windows, FreeBSD) and Docker images.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
aimeos/aimeos-core ★ 4525 129 APPLICATION

Aimeos Core is a PHP library providing the domain logic and persistence layer for the Aimeos e-commerce framework. It is not a standalone application but a modular component consumed by other Aimeos packages (e.g., Laravel adapter, admin UI). The codebase implements a domain-driven design with managers, items, providers, and decorators for approximately 20 business domains (product, order, customer, catalog, price, service, etc.). It features a config-driven SQL abstraction supporting MySQL, PostgreSQL, and SQL Server, an observer-based plugin system for basket validation, and a provider/decorator pattern for payment and delivery integrations. The architecture is a monolith library with heavy use of PHP traits and decorator chains for cross-cutting concerns. The code exhibits professional craftsmanship with extensive test coverage, but includes some duplication across manager implementations and numerous PHPStan type-suppression comments.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
KnpLabs/snappy ★ 4474 438 APPLICATION

KnpLabs/snappy is a mature PHP library that provides a clean, object-oriented wrapper around the wkhtmltopdf and wkhtmltoimage command-line tools. It enables generation of PDF documents and image thumbnails from HTML content or URLs. The library is architected around an abstract base class (AbstractGenerator) that implements the template method pattern, handling command construction, process execution via Symfony Process, temporary file management, and PSR-3 logging. Concrete subclasses (Pdf and Image) define their own option sets and handle special cases like converting inline HTML strings to temporary files for header/footer content. The library is widely used in the PHP ecosystem, with dedicated Symfony and Laravel integration bundles. It requires PHP 8.1+ and depends only on symfony/process and psr/log, making it lightweight and easy to integrate.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
antonioribeiro/google2fa ★ 2008 207 APPLICATION

Google2FA is a standalone PHP library implementing the Time-based One-Time Password (TOTP) algorithm as specified in RFC 6238, fully compatible with Google Authenticator and similar authenticator apps. It provides secure secret key generation (base32-encoded), HMAC-based OTP computation with configurable algorithms (SHA1, SHA256, SHA512), and OTP verification with a sliding window to accommodate clock drift. The library also includes a helper for generating otpauth:// URLs for QR code integration. It has zero external runtime dependencies beyond a constant-time base32 encoder and is designed as a single-class library with traits for modularity. The codebase is well-tested across PHP 7.4 to 8.6 (beta), employs static analysis (PHPStan, Psalm), and follows a clean, maintainable architecture with clear exception hierarchies. It is not a framework but can be used in any PHP project.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
symfony/http-client-contracts ★ 1972 0 APPLICATION

This repository provides a set of PHP interfaces (contracts) for HTTP client operations, extracted from the Symfony framework. It defines the core abstractions: HttpClientInterface for issuing requests, ResponseInterface for lazy response handling, ChunkInterface for streaming response chunks, and ResponseStreamInterface for iterating over chunks from multiple responses. A full hierarchy of exception interfaces (Transport, Client, Server, Redirection, Timeout, Decoding) is included, along with a reference test suite (HttpClientTestCase) that validates any implementation against a set of comprehensive scenarios. The package contains no concrete implementations; it is purely a contract to ensure interoperability among different HTTP client libraries. The code is clean, well-documented, and leverages modern PHP 8.1 features like mixed types and static return types. It is actively maintained with zero open issues and follows semantic versioning as part of the Symfony contracts.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Payum/Payum ★ 1924 347 APPLICATION

Payum is a framework-agnostic PHP payment processing library that unifies dozens of payment providers (PayPal, Stripe, Klarna, Authorize.Net, Be2Bill, Payex, Sofort, Offline, and others) behind a common API. The code reveals a dual architecture in transition: the mature 1.x action/request/reply model coexists with a newer 2.x command/handler/context model that returns typed result objects and executes through a middleware pipeline. Core capabilities include gateway factories, registry and container abstractions, token-based security URLs, pluggable storage backends (Doctrine ORM, MongoDB ODM, filesystem, Laminas), Twig template rendering, PSR-7/14/18 support, event dispatching, and currency/money handling. It is a library meant to be embedded inside Symfony, Laravel, or plain PHP applications, not a standalone service. The architecture is genuinely well-engineered: the middleware pipeline, handler map, token factory, and storage abstractions are cleanly separated and heavily unit-tested. However, the codebase is mid-migration between 1.x and 2.x APIs, with many deprecated legacy adapters and bridge classes still present. This dual-path design increases complexity and can confuse new users, but the core abstractions remain sound and reusable. The repository is a monorepo with per-gateway subpackages, extensive PHPUnit coverage, CI workflows, static analysis, and release automation. Technical drift is moderate: gateway integrations using old SOAP/XML-RPC SDKs and deprecated Symfony/Httplug bridges are aging, while the core 2.x architecture is actively maintained.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
matomo-org/docker ★ 1005 385 APPLICATION

This repository provides Docker images for the Matomo web analytics platform. It builds images for three variants (Apache, PHP-FPM Debian, and PHP-FPM Alpine) that include Matomo source code, PHP extensions, and configuration. The images are designed to run with a persistent volume for Matomo data and connect to an external database. The entrypoint script handles initial setup by extracting Matomo to the volume if needed and managing file permissions. The repository uses templating to maintain variant-specific Dockerfiles and includes scripts for automated version updates and library generation.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
spatie/laravel-feed ★ 983 100 APPLICATION

This is a Laravel package that generates RSS, Atom, and JSON feeds for Laravel applications. It provides a configuration-driven approach where developers define feed sources (models or repositories), and the package handles route registration, item resolution, and format-specific rendering. The architecture follows Laravel package conventions with a service provider, controller-based endpoints, and Blade view templates for output generation. The package supports multiple feed formats (RSS 2.0, Atom 1.0, JSON Feed 1.1) with proper MIME type handling and W3C-compliant XML output. It includes a fluent builder pattern for FeedItem construction, validation of required fields, and a Blade component for automatically generating feed link tags in HTML pages. The codebase demonstrates solid Laravel package engineering with comprehensive test coverage using Pest and snapshot testing.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
nextcloud/social ★ 499 59 APPLICATION

Nextcloud Social is a federated social networking application implemented as a Nextcloud app. It allows each Nextcloud user to become an ActivityPub actor (Person), enabling posting, following, liking, boosting, replying, and direct messaging across the Fediverse. The system is fully compatible with the Mastodon client API, supporting timelines, lists, filters, scheduled posts, polls, stories, collections, trends, and moderation features. The backend is written in PHP, structured with controllers, services, database request builders, and ActivityPub model classes. The frontend is built with Vue 3, Pinia, and Vue Router, providing a responsive single-page application for timelines, profiles, and settings. The app integrates deeply with Nextcloud's dashboard, notifications, search, user migration, and admin settings. Federation is handled via ActivityPub protocols with HTTP signature verification, outbound delivery queues, and WebFinger discovery. The codebase is well-tested with both PHPUnit and Vitest suites, covering unit, integration, and federation wire compatibility tests.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
voku/Arrayy ★ 490 33 APPLICATION

voku/arrayy is a PHP library that wraps native arrays in an object-oriented API. The core Arrayy class extends ArrayObject and provides roughly 200 methods covering literal array operations (push, pop, shift, sort variants, merge, diff, unique) plus higher-order helpers (map, reduce, filter, group, partition, reject, validate), dot-notation access (get('foo.bar')), JSON serialization, and generator-based lazy iteration. It is a library, not an application: it ships as a Composer package requiring PHP 8.0+ and is consumed as a dependency by other projects such as voku/portable-utf8. The architecture centers on a large Arrayy class (~8000 lines) supported by several well-isolated subsystems: a TypeCheck framework (TypeCheckSimple, TypeCheckPhpDoc, TypeCheckArray, TypeCheckCallback) that enforces runtime property types from native declarations or PHPDoc annotations; a typed Collection hierarchy (StringCollection, IntCollection, InstanceCollection, etc.); a JSON mapper that deserializes JSON into typed models; and ArrayyMeta, which exposes property names from array-shape annotations for IDE autocompletion and PHPStan. A custom PHPStan extension (MetaDynamicStaticMethodReturnTypeExtension) infers meta() return types statically. Most mutating methods come in immutable/mutable pairs (sort vs sortImmutable), and a global a() helper plus a static facade (StaticArrayy, now deprecated) provide alternative entry points. Engineering practices are strong: CI runs PHPUnit across PHP 8.0–8.5, mutation testing via Infection, PHPStan level 5+, Psalm, and an auto-generated README built from docblocks. The test suite is extensive with dozens of data providers, including regression guards for type-check edge cases. Known weaknesses include the god-class Arrayy.php, two parallel model systems (native typed properties vs docblock array-shape annotations) that must not be mixed in one class hierarchy, and a few pre-existing test failures around edge cases such as array_sum on strings. Maintenance is active: the last commit is recent, dependencies are managed via Renovate, and the CI matrix tracks new PHP releases. Technical drift is low — the library requires PHP 8.0+, uses current tooling, and has no known security alerts. The most reusable components are the TypeCheck subsystem, the JSON mapper, and the typed collection base classes, all of which could be extracted into standalone packages with minimal modification.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
utopia-php/http ★ 297 34 APPLICATION

Utopia HTTP is a PHP MVC-based framework for building web applications. It provides routing, request/response handling, middleware hooks, dependency injection, and server adapters for PHP FPM and Swoole. The framework follows a modular architecture with clear separation of concerns, using the adapter pattern for server implementations and a container-based dependency injection system. Key features include parameter validation, static file serving, compression, telemetry integration, and lifecycle hooks for cross-cutting concerns. The codebase is actively maintained as a read-only mirror of the utopia-php monorepo, with development occurring in the monorepo's packages/http directory.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
pinkary-project/type-guard ★ 198 25 APPLICATION

A PHP library that provides a type-safe, static analysis-friendly way to narrow down mixed or union types at runtime. The core is a `Type` class (entry point via `type()` helper) that offers methods like `asString()`, `asInt()`, `as(ClassName::class)`, etc., each performing a runtime assertion and returning the narrowed type. It leverages PHPStan/Psalm's `@phpstan-assert-if-true` annotations to allow static analyzers to infer the narrowed type, preserving generic type information (e.g., `Collection<int, User>`). The library includes a `Not` class for negation checks (e.g., `type($x)->not()->null()`). It is part of the Pinkary Project, requires PHP 8.2+, and has zero runtime dependencies. The source is meticulously crafted with full test coverage, type-strict coding, and continuous integration enforcing linting, static analysis, and type coverage. It is a model example of how to expose runtime assertion functions with first-class static analysis support.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
akaunting/akaunting ★ 10180 2999 APPLICATION

Akaunting is a self-hosted accounting and invoicing platform for small businesses and freelancers. It manages invoices, bills, banking transactions, transfers, reconciliations, multi-currency, multi-tax, recurring documents, and financial reports. It includes a customer portal for invoice viewing and payment, and supports multi-company, multi-user with role-based permissions. The system is highly internationalized with 40+ language locales. The architecture is built on a custom PHP framework (Illuminate) that extends Laravel conventions. It uses an event-driven architecture with domain events, listeners, and a job queue for async processing. The frontend combines Blade templates, Vue.js components, and Livewire for interactivity. Multi-tenancy is achieved through company scoping via a global query scope. The system is extensible via a module system with an app store, and includes a CLI for maintenance tasks. Key entry points include the installation wizard (controllers under Install/), authentication flows, and core CRUD controllers for sales, purchases, banking, and settings. Data flows typically involve controllers dispatching jobs that emit events, which listeners handle to update related entities, send notifications, or trigger side effects. Reports use a filter/group/rows event system for extensibility. Import/export is handled via Excel with multi-sheet support. External dependencies include PHP 8.1+, Node 18-20, and a database (MariaDB, MySQL, PostgreSQL, SQLite). It uses Laravel Mix for asset compilation, integrates with payment gateways, email services, and error trackers (Sentry, Bugsnag), and relies on a module marketplace at api.akaunting.com.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
PrestaShop/PrestaShop ★ 9225 5048 APPLICATION

PrestaShop is a full-featured open-source e-commerce platform written in PHP, built on Symfony for the back-office and modern JavaScript/TypeScript for the admin interface. The codebase follows Domain-Driven Design (DDD) with a CQRS pattern, separating commands and queries into dedicated handlers. It provides a complete e-commerce backend including product, order, customer, carrier, tax, and shipping management, along with a powerful grid system, import/export engine, multi-shop and multi-language support, and an OAuth2-secured API. The architecture is a monolith with a modular domain layer, an adapter layer bridging legacy ObjectModel code, and a Symfony bundle layer for controllers, forms, and security. The admin theme uses Vue.js components and a custom grid framework with extensible columns, filters, and actions. Despite active modernization, the codebase retains significant legacy code (jQuery plugins, Smarty templates, deprecated interfaces) and exhibits a mixed architecture that introduces maintenance overhead. The repository is the core of the PrestaShop ecosystem, with a large community and extensive CI/CD pipelines.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
dokuwiki/dokuwiki ★ 4706 921 APPLICATION

DokuWiki is a mature, open-source PHP wiki engine designed for simplicity and ease of use. It provides a full wiki content management system with features including page creation/editing, revision history, access control lists (ACL), full-text search, media management, RSS/Atom feeds, a plugin system, and multiple authentication backends (plain, LDAP, Active Directory, PDO). The architecture is monolithic but highly modular, with a clear action dispatcher, an event-driven plugin system, a custom parser supporting both native DokuWiki syntax and GitHub Flavored Markdown (GFM), and a template system. Entry points include doku.php (main page request), feed.php, install.php, and various CLI tools (bin/). The codebase is well-structured with namespaced classes, extensive test coverage (PHPUnit), and a strong emphasis on internationalization (over 50 language packs). It is actively maintained with regular commits, CI pipelines, and a large plugin ecosystem.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
$ loading more...
$ submit: