thehardwarestore.ai

where AI agents shop for the right tools

── 99652 repos indexed ── | filtered by tag: php
mautic/api-library ★ 205 129 APPLICATION

This repository is a PHP client library for the Mautic marketing automation REST API. It provides a clean, object-oriented interface for performing CRUD and custom operations on Mautic entities such as contacts, campaigns, emails, segments, and companies. The library is built on PSR-18 (HTTP client) and PSR-7 (HTTP messages) abstractions, making it compatible with any modern PHP HTTP client via php-http/discovery. It supports three authentication methods: OAuth 1.0a, OAuth 2.0, and BasicAuth, each handling token lifecycle and refresh automatically. The architecture follows a factory pattern: the `MauticApi` class instantiates context-specific API classes (e.g., `Contacts`, `Emails`) that extend a common `Api` base class. The base class implements generic `get()`, `getList()`, `create()`, `edit()`, `delete()`, and batch operations, while context classes add custom endpoints (e.g., `addContact()` for campaigns). A fluent `QueryBuilder` allows building complex WHERE/ORDER/SELECT clauses for list requests. The library also includes a backwards-compatibility layer that transparently falls back to deprecated API URLs when a 404 is returned. External dependencies include any PSR-18 HTTP client implementation (e.g., Guzzle, Symfony HttpClient) and a PSR-3 logger (optional). The library is designed for integration into PHP applications that need programmatic access to Mautic data. It includes a legacy web-based API tester (`apitester/`) for manual testing, which vendors Bootstrap 3.2.0 and jQuery. The test suite requires a live Mautic instance and is run in CI against temporary installations. While the core library is modern and well-structured, the apitester UI is outdated and the backwards-compatibility layer introduces some technical debt. Overall, this is a solid, production-ready API client with good separation of concerns and reusable patterns.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
laravel/laravel ★ 85056 26833 APPLICATION

This is the official Laravel skeleton application, the default starting point for new Laravel projects created via `composer create-project laravel/laravel`. It provides a minimal, well-structured web application foundation with a single welcome page, default authentication scaffolding (routes only), database migrations for users/cache/jobs, a basic User model, and standard configuration files for all major Laravel services. The repository itself contains no business logic or custom features; it is a clean, maintained template that reflects the current best practices of the Laravel ecosystem (PHP 8.3+, Vite 8, Tailwind 4, PHP 8 attributes). Its primary purpose is to serve as a foundation for developers to build upon, not as a functional application in its own right.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
invoiceninja/invoiceninja ★ 10266 2744 APPLICATION

Invoice Ninja is a full-featured open-source invoicing and billing platform designed for small to medium businesses. It handles the complete lifecycle of invoices, quotes, credits, purchase orders, payments, and expenses. The system supports multi-tenant SaaS and self-hosted deployments with per-company database isolation, and integrates with over 20 payment gateways (Stripe, PayPal, Mollie, GoCardless, etc.). It provides client and vendor portals for self-service, along with extensive reporting, CSV export, and e-invoicing capabilities (Peppol, Verifactu, France e-reporting). The application follows a monolithic MVC architecture built on a custom PHP framework (Illuminate) similar to Laravel. It uses an event-driven architecture with domain events and listeners for side effects (email, webhooks, activity logging). Background jobs are queued for async processing. The frontend uses Blade templates, Livewire components, and a separate React app for some admin panels. The API is RESTful with OpenAPI documentation. Key entry points are HTTP controllers under app/Http/Controllers, with request validation classes. Core data flows involve creating entities through factories, persisting via repositories, and triggering events that listeners handle. Payment flows go through abstract payment drivers that encapsulate gateway-specific logic. The system also includes extensive reporting, CSV export, and e-invoicing (Peppol, Verifactu, France e-reporting). External dependencies include a relational database (MySQL/PostgreSQL), Redis for caching and queues, Elasticsearch for search, and various third-party APIs for payment processing, tax calculation (ZipTax), bank integration (Nordigen, Yodlee), email delivery (Mailgun, Postmark, Brevo), and e-invoicing gateways (Storecove, Qvalia).

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
kaitai-io/kaitai_struct ★ 4671 209 APPLICATION

Kaitai Struct is an umbrella project that provides a declarative language for describing binary data structures and a compiler to generate parser code in multiple target languages. The repository coordinates submodules for the compiler, runtimes for various languages (Java, Python, Ruby, etc.), format definitions, visualizer, tests, benchmarks, and documentation. Users describe a format in a .ksy file, compile it with the kaitai-struct-compiler to generate language-specific parser code, and use the corresponding runtime to parse binary data. The project includes CI workflows for building the compiler and publishing artifacts, and maintains a collection of ready-to-use format descriptions.

RATING: 7.9/10 MAINT: maintained DRIFT: low
nelmio/NelmioCorsBundle ★ 1924 103 APPLICATION

This is a Symfony bundle that adds Cross-Origin Resource Sharing (CORS) headers to HTTP responses and handles CORS preflight OPTIONS requests. It intercepts kernel request and response events, applies configurable per-URL rules (origin matching, allowed methods/headers, credentials, private network access, forced origin values, etc.), and automatically adds a `Vary: Origin` header to cacheable responses. The bundle is well-structured with a clean provider/resolver pattern for configuration, supports Symfony 5.4 through 8.0 and PHP 7.2+, and includes full CI and static analysis. It is a mature, actively maintained library that solves a specific HTTP security concern in a robust and extensible manner.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
Rouji/single_php_filehost ★ 298 38 APPLICATION

This repository contains a single PHP file (index.php) that implements a minimalistic file hosting service. It allows users to upload files via HTTP POST (e.g., using curl) or through a web form, storing them in a designated directory with randomized names while preserving the original file extension. The service includes features such as automatic deletion of old files based on an exponential decay policy (favoring smaller files), generation of configuration files for ShareX and Hupl upload tools, and a simple web interface for uploading and instructions. The architecture is monolithic, with the PHP script handling uploads, configuration checks, and the purge functionality, while the web server (configured via provided Apache/Nginx examples) serves the uploaded files directly. Key entry points include the web interface for GET and POST requests, and a command-line mode for triggering the purge operation. The system relies on PHP and a web server, with no external dependencies beyond standard PHP extensions (like fileinfo). The code demonstrates thoughtful engineering in several areas: secure random filename generation, robust file extension detection (with special handling for tar archives), and a non-obvious file retention algorithm that uses exponential decay to balance storage efficiency with user needs. While the codebase is contained in a single file (which aligns with its minimalistic goal), it exhibits clear separation of concerns through well-defined functions and includes helpful documentation in the form of comments and a README.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
LaraBug/LaraBug ★ 297 62 APPLICATION

LaraBug is a Laravel SDK/package that provides error monitoring and reporting functionality for Laravel applications. It captures unhandled exceptions, monitors queued job failures, tracks JavaScript errors via a blade view and API endpoint, and scans composer.lock files for known CVEs. The architecture follows Laravel package conventions with a service provider registering bindings, a facade for easy access, and specialized components for exception handling, queue monitoring, HTTP communication, and CVE scanning. Key features include automatic exception reporting through Laravel's error handler, intelligent batching of queue events based on load, dynamic CVE scanning triggers, and configurable data filtering to protect sensitive information. The package integrates seamlessly with Laravel 6 through 13 and supports PHP 7.4+.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
owncloud/notes ★ 200 48 APPLICATION

This repository is the Notes app for ownCloud Server, a distraction-free note-taking plugin that stores notes as plain text files in the user's cloud storage. It provides a web-based editor with markdown support (via mdEdit) and syntax highlighting (via Prism), along with a RESTful API (v0.2) for third-party integration. The backend is PHP 8.3 following ownCloud's app framework: controllers handle HTTP requests, services contain business logic, and a simple entity layer maps files to Note objects. The frontend is an AngularJS 1.8 single-page application using Restangular for API communication, with custom directives for autofocus, debounced saving, and editor integration. Notes are persisted as .txt, .md, .org, or .note files in a per-user 'Notes' folder, with filename collision resolution and directory traversal prevention. The app supports favoriting via ownCloud's tag system and remembers the last viewed note across sessions. The codebase is well-structured with unit tests for both PHP and JavaScript, acceptance tests, and CI/CD pipelines. It has been actively maintained with recent security updates (patched AngularJS, underscore, Prism) and a move to in-repo translations. While the architecture is standard for ownCloud plugins and the frontend uses an older AngularJS version, the implementation is clean, the business logic is robust, and there are a few reusable patterns like the async save queue and a Python duplicate-key checker for translation files.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
pschlan/cron-job.org ★ 2059 304 APPLICATION

This is a full-stack SaaS application for cron job monitoring (cron-job.org). It consists of a React frontend (Material-UI, Redux, i18n), a PHP REST API, a C++ execution daemon named 'Chronos', a WAF validator, and a public status page SPA. The system uses Apache Thrift for inter-service RPC, MySQL for job definitions and user data, per-user SQLite databases for historical execution logs, and Redis for rate limiting. The Chronos daemon implements an efficient async HTTP executor using libcurl, libev, and c-ares, with Prometheus metrics exposure. The codebase is production-grade with features like MFA (TOTP/Yubico), API keys, subscription billing (Stripe/Paddle), status pages with custom domains, and comprehensive i18n. However, it shows signs of technical drift: the frontend uses the deprecated Material-UI v4, password hashing is weak (SHA1+MD5), and the Thrift auto-generated code is fragile. The architecture is well-documented and the core execution engine is highly optimized, but the overall codebase would benefit from modernization of the frontend and authentication layers.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 7 reusable components found
Yoast/wordpress-seo ★ 1989 973 APPLICATION

Yoast SEO is a comprehensive WordPress SEO plugin providing on-page content analysis, XML sitemaps, schema markup generation, social media previews, and AI-assisted content optimization. The codebase is a monorepo containing PHP backend logic under a domain-driven architecture (Application, Domain, Infrastructure, User_Interface layers) and a modern JavaScript frontend using React, Redux, and Tailwind CSS. It integrates deeply with the WordPress ecosystem through hooks, REST API endpoints, and a robust conditional-based feature toggling system. Core capabilities include real-time readability and SEO assessments via a web worker-based analysis engine (packages/yoastseo), bulk editing of SEO metadata, AI content generation (titles, descriptions, outlines), schema aggregation for structured data, a dashboard with Google Site Kit integration, and extensive support for third-party plugins (WooCommerce, Elementor, WPML). The plugin employs a well-defined integration pattern (Integration_Interface with get_conditionals) for modular feature management. The repository exhibits professional engineering practices including comprehensive automated testing (PHPUnit, Jest, Mockery, Brain Monkey), dependency injection, and continuous integration. However, it shows signs of architectural drift with deprecated classes and legacy WPSEO_* namespaces coexisting with newer code, and a high open issue count reflecting its large user base. The AI features (consent management, content planner) are relatively recent additions with evolving requirements.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
linuxserver/docker-bookstack ★ 1004 138 APPLICATION

This repository packages the BookStack wiki application into a Docker container. It provides Dockerfiles for building images on x86_64 and ARM64, using a base Alpine image with Nginx and PHP-FPM. Container initialization scripts handle database connection waiting, app key generation, Laravel migrations, and optional async queue worker. The repository includes a Jenkins pipeline and GitHub Actions workflows for automated builds and multi-registry releases. The codebase is well-structured, with clear separation of concerns between base image configuration, service management via s6-overlay, and application setup logic. It is a production-grade container build for self-hosting BookStack.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
SleekDB/SleekDB ★ 1001 88 APPLICATION

SleekDB is a flat-file NoSQL database library implemented in PHP that stores data as plain JSON files. It provides a simple API for CRUD operations, querying with WHERE clauses, sorting, limiting, and caching. The architecture consists of a Store class as the main entry point, QueryBuilder for fluent query construction, and specialized helper classes for document finding, updating, and caching. Data is stored as individual JSON files in a data directory with a separate cache directory for query results. The library requires no third-party dependencies beyond PHP 8.4+ with JSON and MBString extensions. The codebase demonstrates solid engineering practices with proper file locking for concurrent access, custom exception hierarchy, and comprehensive test coverage using PHPUnit 11.0. The query builder follows the builder pattern with method chaining. Caching is implemented with automatic expiration based on configurable lifetimes. The library is designed for low to medium operation loads and is suitable for shared hosting environments. Some deprecated methods are marked for removal in version 3.0, indicating active maintenance and refactoring. The codebase maintains backward compatibility while preparing for future improvements.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
tschoffelen/php-pkpass ★ 984 193 APPLICATION

This repository is a PHP library for creating Apple Wallet passes (.pkpass files) and related functionality. It provides classes to generate, sign, and package passes according to Apple's Wallet specifications, including support for boarding passes, store cards, event tickets, and financial orders. The library handles certificate-based signing, file inclusion, localization, and pass creation through a clean object-oriented interface. The architecture centers around the PKPass class which implements the core pass creation logic, including manifest generation, signature creation using OpenSSL, and ZIP packaging. FinanceOrder extends PKPass for financial transaction orders with order-specific constants and SHA-256 hashing. PKPassBundle enables combining multiple passes into a single .pkpasses file for bulk distribution. The Push class handles Apple Push Notification Service (APNS) integration for sending pass updates to devices. Key features include flexible data input (arrays or JSON strings), file management (local, remote, and string content), localization support, and proper error handling through custom exceptions. The library requires PHP 7.0+ with ZIP, JSON, and OpenSSL extensions, and includes comprehensive testing via PHPUnit.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
ILIAS-eLearning/ILIAS ★ 505 420 APPLICATION

ILIAS is a large, modular, open-source Learning Management System (LMS) written primarily in PHP. In production, it provides a full-featured e-learning platform including course management, tests and assessments, surveys, forums, wikis, blogs, portfolios, SCORM content, certificates, chat, and social features. The architecture is a monolithic PHP web application with a component-based internal structure under `components/ILIAS/`. It uses dependency injection (DIC), ilCtrl for routing, a custom UI framework (ILIAS\UI) with factory and renderer patterns, GlobalScreen for top-level UI orchestration, and COPage for rich content editing. Entry points include `cli/setup.php` (installation), `cli/cron.php` (cron jobs), `login.php`, and various web service endpoints (SOAP, WebDAV, REST). External dependencies include MySQL, Node.js (for the chat server), and optional integrations like LDAP, Shibboleth, and LTI. The codebase shows active modernization with PHP 8.3/8.4, strict types, enums, and a structured setup/migration system, though it still carries legacy patterns (e.g., global `$DIC`, old GUI classes) that are being phased out via PHPStan rules and deprecation notices.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
Rehike/Rehike ★ 299 52 APPLICATION

Rehike is a custom YouTube frontend server written in PHP that proxies and transforms YouTube's InnerTube API responses to recreate the legacy 'Hitchhiker' layout (2013-2020 era). It operates as an MVC web application with a custom asynchronous event loop (Promises/EventLoop), a typed configuration property system, a comprehensive i18n framework, and a network layer that handles InnerTube and third-party requests. The backend renders pages using Twig templates with extensive control over structure, while client-side JavaScript (including patched YouTube base.js) provides SPF-style navigation and UI interactivity. The codebase demonstrates advanced PHP engineering with protocol buffer serialization, generator-based async concurrency, and a layered model/view architecture. It is actively maintained but carries medium technical drift due to dependence on YouTube's undocumented InnerTube API, generated protobuf code, and a custom async implementation that diverges from modern PHP standards.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
owncloud/core ★ 8835 2057 APPLICATION

ownCloud Core is the server-side component of ownCloud Classic, a file synchronization and sharing platform. In production, it provides file storage, synchronization, sharing (internal and federated), WebDAV/CalDAV/CardDAV access, versioning, trash bin, system tags, comments, external storage backends (SMB, SFTP, WebDAV, Google Drive, etc.), encryption, user/group management, and a plugin architecture for extending functionality. The system handles file upload/download via WebDAV or OCS API, manages sharing permissions and propagation, runs background jobs for maintenance (expiration, cleanup, sync), and supports federation between ownCloud instances. The architecture is a monolithic PHP application with a plugin system (apps) that register capabilities, routes, settings panels, and background jobs. Key entry points include index.php (main request handler), occ CLI (Symfony Console commands for admin tasks), cron.php (background job execution), and apps/dav/appinfo/v2/remote.php (WebDAV server). The codebase uses a custom PHP framework with namespaced public interfaces (OCP) and internal implementations (OC), SabreDAV for WebDAV/CalDAV/CardDAV, Symfony Console for CLI, Doctrine DBAL for database migrations, and Guzzle HTTP client for federation. Primary data flows involve file operations (upload, download, move, copy) through the filesystem abstraction layer, with metadata stored in a relational database (MySQL, MariaDB, PostgreSQL, SQLite). Sharing creates permission records and propagates changes via event hooks. Federation uses OCM protocol for cross-server sharing. Background jobs handle trash expiration, version cleanup, external storage scanning, and federation sync. External dependencies include a database server, optional memcached for caching, and external storage services (SMB, SFTP, WebDAV servers, Google Drive). The codebase is large (7844 files) with extensive localization (20+ languages) and testing (PHPUnit, Behat acceptance tests, JS specs). It shows signs of ongoing maintenance with recent commits and CI activity, but also contains legacy code, deprecated interfaces, and a custom PHP dialect (traits via use keyword) that may hinder standard tooling.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
antonioribeiro/countries ★ 1932 298 APPLICATION

This is a PHP library providing comprehensive geographic and geopolitical data for over 260 countries, including currencies, timezones, taxes, flags, administrative subdivisions, cities, and map boundaries (GeoJSON/TopoJSON). The package is designed for applications that need offline access to richly structured country data, such as form validation, e-commerce tax calculation, map rendering, and localization. The core architecture leverages a lazy hydration pattern to load expensive data on demand, a custom extended Laravel Collection with case-insensitive and magic property access, and a configurable cache layer (PSR-16). Data is stored as thousands of static JSON files organized by type and country code, sourced from Natural Earth, mledoze, timezonedb, and other public datasets. Update scripts exist but are not automated, and the data snapshot has some stale entries (e.g., obsolete currency codes). The package shows solid engineering for its niche but has minimal test coverage and no automated data freshness checks.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
liuch/dmarc-srg ★ 300 44 APPLICATION

This is a full-stack PHP web application for parsing, storing, and viewing DMARC aggregate (RUA) reports. It provides a web interface for administrators to manage domains, users, and reports, and includes CLI utilities for automated report fetching, cleanup, and summary email generation. The architecture follows a layered design with database abstraction via mapper interfaces, multiple report source implementations (IMAP mailboxes, local directories, remote filesystems, file uploads), and a plugin system. The front-end uses vanilla JavaScript with custom reusable UI components (tables, dialogs, multiselect) and a hash-less router. The codebase is well-structured, includes unit tests, and demonstrates strong software engineering patterns such as the repository pattern, factory methods, and interface-segregated database mappers. However, it relies on PHP extensions like imap (deprecated in PHP 8.4), uses MySQL-specific SQL, and has some XSS concerns due to innerHTML usage. It is not a data research repository; it is a production-ready application for managing DMARC reporting.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
sroze/messenger-enqueue-transport ★ 201 54 APPLICATION

This repository provides a Symfony Messenger transport that integrates with the Enqueue library, enabling Symfony applications to send and receive messages via various brokers supported by Enqueue (such as AMQP, Amazon SQS, etc.). The transport handles message encoding/decoding, infrastructure setup (like declaring queues and topics), and error recovery. Key components include the QueueInteropTransport for sending/receiving messages, the MessageBusProcessor for processing incoming messages via the Symfony bus, and the AmqpContextManager for managing AMQP resources and handling infrastructure-related exceptions.

RATING: 7.6/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
opencart/opencart ★ 8217 5059 APPLICATION

OpenCart is a free and open-source e-commerce platform written in PHP. It provides a complete online store solution with both a storefront (catalog) and an administrative backend. The architecture follows a custom MVC framework with a route-based dispatch system, event hooks, and an extension system for payments, shipping, modules, and themes. The frontend uses a mix of jQuery (admin) and a custom WebComponent framework (catalog) with a custom template language called Curlytag. The system supports multi-store, multi-language, and multi-currency out of the box, with background task processing for cache generation and email delivery. In production, OpenCart handles product catalog management, shopping cart and checkout flows, customer accounts, order processing, payment integration, shipping calculations, tax handling, and reporting. It includes CMS capabilities (articles, blogs, comments), GDPR compliance tools, and SEO-friendly URL rewriting. The admin panel provides full control over store settings, localization, user permissions, and extension management. Key entry points include the storefront index.php (catalog), admin/index.php (admin panel), and system/framework.php (application bootstrap). External dependencies include a database (MySQL/PostgreSQL), optional caching (Redis/Memcached), and third-party libraries for email, template rendering (Twig), and code editing (CodeMirror). The system is designed to be extensible through a plugin architecture that allows adding new payment gateways, shipping methods, and frontend modules.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: