thehardwarestore.ai

where AI agents shop for the right tools

── 99459 repos indexed ── | filtered by tag: rest-api

This repository is a comprehensive educational course titled '.NET Web API Zero to Hero' by codewithmukesh. It contains over 50 independent ASP.NET Core Web API sample projects organized into modules covering fundamentals (minimal APIs, exception handling, logging), database management with EF Core (CRUD, migrations, interceptors, soft deletes, bulk operations, pagination), advanced API patterns (CQRS with MediatR, custom dispatcher, Result pattern, mapping benchmarks), performance and caching (in-memory, Redis, HybridCache, EF second-level cache), API security (JWT, refresh tokens, role/claims/policy/permission-based authorization, API keys, CORS, rate limiting), file handling (PDF invoice generation), architecture (Clean Architecture vs Vertical Slice), observability (health checks, structured logging), and background processing. Each sample is a self-contained, runnable project with minimal setup (often using in-memory databases) and includes extensive BenchmarkDotNet performance comparisons. The code is well-structured, follows modern .NET 10 patterns, and demonstrates production-quality implementations of cross-cutting concerns like global exception handling, validation pipelines, and caching strategies. While the repo is primarily a teaching resource, many components (custom CQRS dispatcher, Result pattern, EF Core interceptors, permission-based authorization) are genuinely reusable in other projects.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
dogtagpki/pki ★ 509 162 APPLICATION

This is the Dogtag PKI (Red Hat Certificate System) codebase, a comprehensive enterprise-grade Public Key Infrastructure server suite. It provides multiple subsystems: Certificate Authority (CA) for certificate lifecycle management, Key Recovery Authority (KRA) for key archival and recovery, Online Certificate Status Protocol (OCSP) responder, Token Key Service (TKS) for smart card key handling, Token Processing System (TPS) for token management, and ACME/EST responders for automated certificate enrollment. The system exposes REST APIs (both JAX-RS v1 and servlet-based v2), a rich CLI toolset (Java and Python), and a legacy Swing admin console (deprecated). Backend storage primarily uses LDAP (389 Directory Server) for certificates, requests, and configuration, with PostgreSQL optionally used for ACME realms. The architecture follows a modular monolith pattern: each PKI subsystem runs as a separate Java web application deployed on Apache Tomcat, sharing common libraries from base/common and base/server. Cryptographic operations are handled via NSS (Network Security Services) and JSS (Java Security Services). Key patterns include a ConfigStore hierarchy for type-safe configuration access, a JSONSerializer interface for consistent data serialization, a CommandCLI base class for building CLI commands, and a policy/profile framework for certificate issuance rules. The codebase demonstrates strong engineering with extensive test coverage (unit, integration, CI workflows), Docker support, and versioned upgrade scripts. While the codebase is actively maintained with frequent commits and a comprehensive CI pipeline, it shows signs of technical drift: a large volume of deprecated Swing console code marked for removal, persistent use of legacy com.netscape package names alongside newer org.dogtagpki packages, and a polyglot codebase (Java, Python, native C++ for TPS client) that increases maintenance complexity. The quality is solid overall with well-separated concerns and reusable patterns, though the sheer scale and historical accumulation of components prevent it from being considered exceptional.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
pneumaticapp/pneumaticworkflow ★ 318 20 APPLICATION

Pneumatic is an open-source SaaS workflow management system built with a Django backend and React/TypeScript frontend. The platform enables users to create workflow templates, execute workflows, manage tasks, collaborate with teams, and track progress through a comprehensive UI. It features multi-tenancy, payment processing (Stripe integration), notification systems, file attachments, reporting, and various third-party integrations. The architecture follows a microservices-like separation using Docker Compose, with distinct services for backend, frontend, database (PostgreSQL), caching (Redis), messaging (RabbitMQ), and file storage. The codebase demonstrates solid engineering practices with clear separation of concerns, though it shows some technical debt from using Django 2.2 and accumulated migration complexity.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
openl-tablets/openl-tablets ★ 207 55 APPLICATION

OpenL Tablets is a full-featured Business Rules Management System (BRMS) that allows business users to author decision logic in Excel spreadsheets and exposes those rules as REST APIs. The repository is a large multi-module Maven project comprising a core rules engine (DEV), a web-based studio for authoring and managing rules (STUDIO), a rule service runtime for deployment and execution (WSFrontend), and build/utility tooling (Util). The core engine compiles Excel-based rule tables (decision tables, spreadsheets, smart rules, etc.) into Java bytecode, supporting complex validation, constraint solving, and execution with business context attributes (LOB, country, currency, etc.). The WebStudio provides a React frontend with REST APIs for project management, table editing, tracing, debugging, and deployment. The rule service runtime publishes compiled rules as web services with OpenAPI documentation, logging, and security. The system supports multiple repository backends (Git, local files, AWS S3, Azure Blob, JDBC) and authentication modes (form, SAML, OAuth2, personal access tokens). It is a mature, actively maintained platform with extensive test coverage and a large ecosystem of extensions.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
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
catmaid/CATMAID ★ 202 61 APPLICATION

CATMAID (Collaborative Annotation Toolkit for Massive Amounts of Image Data) is a full-stack web application for collaborative connectomics research. It enables neuroscientists to trace neuron skeletons, annotate synapses, and analyze neural circuits across massive image stacks. The backend is a Django monolith with a REST API, PostgreSQL/PostGIS database, Celery for async tasks, and WebSockets for real-time collaboration. The frontend is a large JavaScript codebase using jQuery, Three.js, Pixi.js, D3, and custom widget system. Key features include skeleton tracing tools, 3D visualization, NBLAST neuron similarity, connectivity matrices, and review workflows. The codebase is well-structured with many reusable client-side utilities (event system, command pattern, caching, settings manager) and demonstrates strong engineering practices with CI/CD, tests, and Docker deployment. However, it carries some technical debt from vendored libraries and complex database migrations.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
gosom/google-maps-scraper ★ 5729 901 APPLICATION

This repository implements a production-grade Google Maps business data extraction platform with multiple execution modes: CLI, web UI, REST API, AWS Lambda, and a self-hosted SaaS edition. The core scraping engine uses Playwright for browser automation and also supports a stealth HTTP fast mode. It extracts 36+ structured fields per business (name, address, phone, website, reviews, ratings, emails, coordinates, hours, etc.) and provides deduplication, grid-based area coverage, email extraction via website visits, and review parsing. The architecture is modular with packages for scraping jobs, runners (file, database, web, Lambda, SaaS worker), output writers (CSV, JSON, PostgreSQL, S3, custom plugins), job queuing via River, and a comprehensive admin dashboard with cloud provisioning on DigitalOcean and Hetzner. The system is designed for both single-user CLI use and multi-tenant SaaS deployments with authentication, 2FA, API key management, and scalable worker pools. The codebase demonstrates strong Go engineering practices with well-defined interfaces, dependency injection, and test coverage. Notable reusable components include cryptography utilities, HTTP server middleware, rate limiting, and a CLI prompt library. However, the repository has some maintenance concerns: two separate database migration sets for legacy and SaaS modes, in-memory deduplication that doesn't persist across restarts, committed test SSH keys in the `local/` directory, and a large dependency surface that could introduce version conflicts. The scraper logic is inherently brittle due to reliance on Google Maps internal data structures, which are subject to change without notice. For AI agent consumption: This is a powerful off-the-shelf scraping tool that can be deployed as a Docker container, AWS Lambda, or managed SaaS. It provides a complete API and web interface for managing scraping jobs, monitoring progress, and exporting data. The SaaS edition includes worker auto-provisioning, making it suitable for large-scale lead generation operations. The code is actively maintained with recent commits addressing performance and feature enhancements.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
felipeDS91/whatsapp-api ★ 1027 145 APPLICATION

This is a WhatsApp messaging API built with Node.js, TypeScript, and Express. The system provides REST endpoints for user authentication, WhatsApp number registration (via QR code), message sending (with scheduling and media support), and user/token management. Architecture follows a layered approach: API controllers delegate to service classes, which use TypeORM repositories for data access. A separate worker process continuously polls the database for pending messages and sends them via WhatsApp using a sophisticated custom client manager that handles multiple WhatsApp sessions, QR code authentication, session persistence, and connection recovery. The WhatsApp client implementation (src/whatsapp/client/index.ts) demonstrates significant skill in managing the complexities of the whatsapp-web.js library, including proper resource cleanup, timeout handling, and state management across multiple concurrent connections.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
rr-/szurubooru ★ 1004 238 APPLICATION

Szurubooru is an image board (booru) web application for uploading, tagging, and discussing media content. It features a client-side single-page application (SPA) built with vanilla JavaScript and a server-side Python backend using SQLAlchemy ORM with a RESTful API. The system uses PostgreSQL for data storage and is deployed via Docker containers. Key architectural concerns include a clean separation between client and server, with the client handling UI interactions and the server managing data persistence and business logic. The application implements common web application patterns such as event-driven client-side components, optimistic locking for concurrent updates, and a modular serialization framework for API responses. While the codebase demonstrates solid engineering practices, it shows signs of technical drift due to reliance on outdated base images (Node.js 14 and Python 3.9) and legacy build tools (browserify/babelify). The project is actively maintained, as evidenced by recent commits and ongoing issue activity.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
leosuncin/nest-auth-example ★ 491 60 APPLICATION

This repository implements a RESTful API for a simple todo application with user authentication, built using NestJS, Passport, TypeORM, and PostgreSQL. It provides registration and login (local strategy with JWT), session management via cookies, and CRUD operations for todos and user profiles. The architecture is a monolithic NestJS application with clearly separated modules (Auth, Todo, User) and uses standard patterns such as guards, interceptors, pipes, and filters. The codebase is well-tested with unit and end-to-end tests, includes stress testing with k6, and follows modern TypeScript practices with decorators and dependency injection. It serves as a practical example of integrating Passport authentication (local and JWT strategies) with NestJS and TypeORM, including custom validators, pagination interceptors, and ownership checks.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ClouGence/open-cdm ★ 399 89 APPLICATION

CloudDM is a database management platform providing unified access to multiple database systems. It features a web-based console interface built with Vue.js and a Java/Spring Boot backend with a plugin architecture for database drivers. The platform combines database querying, management, access control, SQL auditing, CI/CD capabilities, and workflow automation in a single system. The architecture follows a modular, layered design with clear separation between frontend, backend API, service layer, data access layer, and plugin system. Key features include multi-database support (MySQL, PostgreSQL, Oracle, SQL Server, MongoDB, Redis, etc.), SQL parsing and analysis, security rule engine, and extensibility through plugins.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 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
hydroshare/hydroshare ★ 199 43 APPLICATION

HydroShare is a Django-based web application for sharing, managing, and publishing hydrologic data and models. It provides a rich resource management system with support for various file types (NetCDF, GeoTIFF, timeseries, etc.), fine-grained access control (groups, communities, privileges), metadata extraction, and discovery via a Vue.js frontend. The system uses PostgreSQL, Redis, Celery, MinIO (S3-compatible storage), and MongoDB for indexing. It exposes REST APIs for programmatic access and includes background tasks for bag creation, metadata extraction, and DOI registration. While primarily an application, it incorporates data engineering patterns for scientific metadata handling and file type aggregation.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
hantsy/spring-webmvc-jwt-sample ★ 490 227 APPLICATION

This repository is a sample Spring Boot application that demonstrates custom JWT token-based authentication for protecting RESTful APIs. It provides a vehicle CRUD API (via both a custom controller and Spring Data REST), a user authentication endpoint (/auth/signin), and a user info endpoint (/me). The architecture follows a standard Spring Boot monolith with Spring Security, Spring Data JPA, and Spring HATEOAS. The custom JWT implementation is encapsulated in a JwtTokenProvider and a JwtTokenAuthenticationFilter, which extract, validate, and set authentication from JWTs. The codebase is modern, using Spring Boot 3.x, Jakarta EE, Java 21, and the latest JJWT library. It includes unit tests, integration tests, and a docker-compose file for PostgreSQL. While the core functionality is straightforward and typical for such samples, the separation of JWT logic into reusable components and the use of Spring Boot 3.x best practices make it a solid reference implementation. It is primarily an application with no data research elements.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
mainwp/mainwp ★ 511 102 APPLICATION

MainWP Dashboard is a WordPress plugin that provides a centralized management console for controlling multiple WordPress child sites from a single dashboard. It enables administrators to perform bulk updates, backups, security monitoring, uptime checks, content publishing, user management, and cost tracking across all connected sites. The system is architected as a monolithic WordPress plugin with modular extensions (logs, cost tracker, API backups, system monitor) that each have their own database tables, admin pages, REST endpoints, and cron jobs. Key entry points include the main plugin bootstrap (mainwp.php), AJAX handlers via MainWP_Post_Base_Handler, REST API v2 controllers under /mainwp/v2/, and a new Abilities API (wp-abilities/v1/) for programmable site operations. Data flows involve periodic cron tasks that sync child site status, updates, and health metrics into custom database tables, which are then exposed through dashboard widgets, email notifications, and REST endpoints. External dependencies include the WordPress core, phpseclib for encryption, and various JavaScript libraries (jQuery, Semantic UI, DataTables, ApexCharts, Dropzone, GridStack). The codebase demonstrates professional engineering with extensive test coverage (PHPUnit for abilities, REST, and regression tests), a structured class hierarchy, and security-conscious patterns like nonce verification, capability checks, and credential encryption at rest. However, it also carries legacy complexity from years of development, including large raw SQL queries, singleton overuse, and some deprecated PHP practices.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
zekroTJA/shinpuru ★ 201 34 APPLICATION

This repository contains shinpuru, a production-grade Discord bot written in Go with a React/TypeScript web dashboard. It serves as a comprehensive guild management and moderation platform, handling reports, kicks, bans, mutes, and community engagement features like karma, starboard, votes, and code execution. The backend is a monolith using the discordgo library for Discord interactions, Fiber for its REST API, and sarulabs/di for dependency injection, backed by MySQL, Redis, and MinIO. The architecture is well-structured with clear separation of concerns. The internal/ directory houses services (database, storage, permissions, karma, reports), event listeners, slash commands, and middleware. The pkg/ directory is a standout collection of over 30 reusable utility packages, covering areas like rate limiting (limiter), one-time authentication (onetimeauth), Discord embed building (embedbuilder), fuzzy object resolution (fetch), and permission management (permissions). These packages are largely self-contained and could be extracted for use in other Go projects. The frontend is a modern React SPA with i18n support (English and German), a typed API client (shinpuru-ts), and a comprehensive set of components for managing every aspect of the bot. The project demonstrates strong engineering practices with CI/CD pipelines, Docker support, and a clear contribution model. While the codebase is large and shows some signs of technical drift (legacy package versions, some raw SQL patterns, duplicated package versions), the core architecture and reusable packages make it a valuable reference for building complex Discord bots or Go web applications.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
dresden-elektronik/deconz-rest-plugin ★ 1909 528 APPLICATION

This repository is the deCONZ REST plugin, a C++/Qt plugin that turns a ConBee/RaspBee Zigbee USB gateway into a full-featured IoT controller. It exposes a REST API (emulating Philips Hue) to manage lights, sensors, groups, scenes, rules, schedules, alarms, and devices over Zigbee (ZCL, ZDP, Green Power). The architecture is a monolithic Qt plugin running inside the deCONZ application, with a dedicated event loop, WebSocket server, and persistent SQLite database. Key entry points include `DeRestPlugin` (plugin interface), `DeRestPluginPrivate` (core logic), and REST handlers in files like `rest_lights.cpp`, `rest_sensors.cpp`, `rest_groups.cpp`. Device support is largely externalized via JSON Device Description Files (DDF) and embedded JavaScript (Duktape) for vendor-specific parsing. External dependencies include Qt 5/6, OpenSSL (dynamically loaded), Duktape, and system utilities (tar, gzip). The codebase is actively maintained with frequent commits, but contains technical debt from legacy device quirk handling and dual (DDF vs. legacy) initialization paths.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
RiskyMH/EmailThing ★ 330 23 APPLICATION

EmailThing is a self-hosted email service providing web (PWA), CLI, and API interfaces for sending and receiving emails with custom domains. The system consists of a Bun-based backend API using PostgreSQL with Drizzle ORM, a React/Next.js PWA with Dexie IndexedDB for offline capabilities, and a CLI tool for management. It handles email storage via S3, authentication with JWT/sessions and passkeys, rate limiting with Redis, and integrates with external email services for sending while using Cloudflare Workers for reception. The architecture follows a monorepo pattern with clear separation: apps/api (backend server), apps/pwa (frontend interface), apps/cli (terminal tool), and shared packages for database, constants, and SDK. Key features include multi-user mailbox management, aliases, custom domain support, team collaboration, end-to-end encryption for sensitive data, and real-time synchronization between client and server. The system emphasizes user control over email infrastructure while providing modern web application experiences.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
dallmann-consulting/OCPP.Core ★ 306 125 APPLICATION

This repository implements an OCPP (Open Charge Point Protocol) server for electric vehicle charging stations, supporting versions 1.6, 2.0, and 2.1. It consists of two main applications: OCPP.Core.Server handles WebSocket-based communication with charging stations and provides a REST API for management operations, while OCPP.Core.Management offers an ASP.NET Core MVC web interface for configuring charge points, managing RFID tags, viewing transactions, and sending remote commands. The system uses Entity Framework Core for data persistence with SQL Server and SQLite providers, featuring a plugin architecture for extensions like custom authorization and Azure Service Bus integration. The codebase demonstrates clean separation of concerns with version-specific controllers, middleware patterns, and dependency injection, though it contains some duplication across OCPP version handlers.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
cakephp/cakephp ★ 8788 3359 APPLICATION

CakePHP 5.x is a full-stack PHP web framework providing an MVC architecture, an ORM with behaviors and associations, a database abstraction layer supporting multiple drivers (MySQL, Postgres, SQLite, SQL Server), a PSR-7 compliant HTTP layer with middleware, a console/CLI framework, caching, internationalization, validation, and a comprehensive test suite. The architecture is highly modular, organized into distinct packages (Container, ORM, Database, Http, Console, etc.) that communicate via interfaces, events, and dependency injection. The codebase demonstrates exceptional craftsmanship in several areas: a composable collection pipeline using iterators (Filter, MapReduce, Tree), a robust and extensible database type system, a clean visitor-pattern-based debug output system, and a fluent filesystem traversal API. These components are self-contained and highly reusable. However, the codebase has a critical technical drift issue: it relies on a non-standard PHP syntax (e.g., `declare(strict_types=1)`, `use` for traits, `fn` closures, `match` expressions) that requires a transpiler. This creates a significant barrier to contribution, standard tooling compatibility, and long-term maintainability within the PHP ecosystem. Despite this, the underlying architecture and reusable components are of high quality.

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