29 repositorios
Reusable structural templates and organizational strategies for building and routing service communication endpoints.
Explore 29 awesome GitHub repositories matching software engineering & architecture · API Patterns. Refine with filters or upvote what's useful.
This repository is a comprehensive collection of data structures and algorithms implemented in JavaScript, designed primarily as an educational resource for computer science study and technical interview preparation. It provides modular implementations of fundamental programming concepts, allowing developers to explore algorithmic logic and data organization through self-contained, verifiable code examples. The library distinguishes itself by pairing every implementation with formal Big O notation, providing predictable insights into time and space scaling requirements. Each algorithm is stru
Uses consistent input and output patterns across all algorithmic implementations to facilitate seamless comparison.
Immich is a self-hosted media management platform designed to provide a centralized, private repository for photos and videos. It functions as a comprehensive system for organizing, backing up, and viewing personal media collections across mobile devices, web browsers, and external storage locations. By maintaining full control over data ownership and storage infrastructure, the platform ensures that users retain sovereignty over their digital assets. The system distinguishes itself through a distributed architecture that coordinates background media synchronization, real-time filesystem moni
Routes incoming network requests to specific backend operations using a structured interface to perform standard data management tasks.
OpenCV is a comprehensive computer vision library designed for real-time performance and cross-platform deployment. It provides a native execution environment that leverages multi-threaded operations and automated memory management to handle intensive computational tasks, including image processing and machine learning model inference. The library distinguishes itself through a data-oriented matrix framework that utilizes proxy-based array abstractions to provide a consistent interface for multidimensional data. By employing factory-pattern algorithm interfaces and runtime type dispatching, i
Decouples algorithm implementations from user code through factory patterns to ensure long-term API stability and cross-platform compatibility.
Gin is a web framework designed for building high-performance web services and APIs. It functions as a middleware-oriented engine that processes incoming HTTP requests through a sequential chain of handlers, allowing for the modular management of cross-cutting concerns such as authentication and logging. The framework utilizes a radix tree data structure to perform request routing, ensuring high-speed path matching with minimal memory overhead. It distinguishes itself by employing a zero-reflection dispatch mechanism that invokes handler functions through static type assertions, avoiding the
Partitions API surfaces into logical segments that share common path prefixes and middleware execution contexts.
Nest is a server-side framework for building scalable and maintainable enterprise-grade applications using TypeScript. It provides a modular architecture that organizes code into encapsulated, reusable modules, utilizing a dependency injection container to manage object lifecycles and resolve component dependencies through declarative metadata. The framework distinguishes itself through a platform-agnostic abstraction layer that decouples core logic from underlying HTTP servers, allowing for flexible implementation choices. It employs a middleware-based request pipeline that processes traffic
Directs network traffic to specific operations using declarative routing and integrated input validation.
This project is a multi-provider AI gateway and proxy server that intercepts and routes requests between AI clients and various large language model providers. It functions as an API protocol translator and model router, mapping incoming requests to specific upstream providers or local runners to provide a unified interface for multiple models. The system distinguishes itself by bridging chat platforms and command line interfaces, converting messages from chat services into managed command line sessions. It further optimizes traffic by executing certain web search and fetch requests locally a
Maps incoming model requests to specific upstream backends using structured interface handlers.
Devise is a flexible authentication framework for Ruby on Rails applications. It serves as a user identity management system that handles registration, sign-in, password recovery, and account confirmation. The system integrates with the Warden middleware to manage user sessions and security across various request types. The framework functions as a multi-model authentication engine, allowing for the configuration of multiple distinct user models with independent routes and access controls. It also provides a standardized interface to connect with external identity providers and third-party lo
Maps specific authentication actions to dedicated controllers that handle the logic for sign-in, sign-up, and password recovery.
Devise is a comprehensive identity management system and authentication framework for Ruby on Rails applications. It provides a complete set of tools for managing user registration, secure sign-in, and session handling using a modular strategy pattern. The framework distinguishes itself by offering a suite of security hardening features, including brute force protection through account locking and secure password recovery workflows. It also functions as an integrator for external identity providers and third-party authentication via standardized protocols. Broad capabilities cover the full u
Automatically generates RESTful routes and controllers to handle authentication flows.
Recommenders is a recommendation system framework designed for building, benchmarking, and deploying collaborative and content-based filtering models. It provides a machine learning model pipeline that standardizes the process of moving recommendation data from raw ingestion through training and evaluation. The project functions as a model benchmarking toolkit, utilizing standardized ranking and error metrics to compare the accuracy of different algorithms. It also serves as a hyperparameter tuning tool, allowing for the optimization of model behavior and performance via external configuratio
Implements interface definitions that decouple recommendation algorithm implementation from usage.
This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers. The framework distinguishes itself by focusing on the internal mechanics of these systems rather than providing a high-level abstraction for production use. It covers the implementation of complex architectural patterns
Organizes related API endpoints under common URL prefixes and supports nested structures to apply shared configurations.
FreshRSS is an open-source, self-hosted web feed aggregator designed to collect, organize, and display content from multiple websites in a single, centralized interface. It functions as a comprehensive reader for standard syndication formats, allowing users to track updates from various sources while maintaining full control over their data and privacy. The platform supports multi-user environments, enabling individual account management and personalized reading experiences. The application distinguishes itself through its robust synchronization and extensibility capabilities. It provides a s
Maps incoming web requests to specific controller methods for request handling.
Drogon is a high-performance C++ HTTP web framework and asynchronous web server designed for building web applications and REST APIs. It utilizes an event-driven, non-blocking architecture to handle concurrent HTTP and WebSocket connections, and it implements a model-view-controller structure to separate business logic from presentation. The framework includes an integrated C++ object-relational mapping system and database client for performing asynchronous operations with relational databases and Redis key-value stores. It supports real-time, full-duplex communication via WebSockets and prov
Utilizes an architectural pattern that maps URL paths to specific class methods to decouple endpoints from business logic.
Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a model-view-controller architecture to separate business logic from user interface rendering, providing a comprehensive system for routing, parameter binding, and session management. The project distinguishes itself with a high-productivity development environment featuring automatic code compilation and hot-reloading, which refreshes the application state and templates upon file changes without requiring manual restarts. It also employs reflection-based parameter binding to automati
Implements an architectural pattern mapping incoming network requests to specific controller actions.
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
Maps incoming HTTP requests to specific handlers such as pages, controllers, or custom delegates.
Grape is a RESTful web service framework for Ruby designed for building structured APIs. It provides a declarative syntax for routing and parameter validation, allowing developers to map HTTP verbs to logic through a domain specific language. The framework is distinguished by its built-in support for service versioning, which can be managed via URL paths, custom headers, or request parameters. It also features a modular architecture that allows large services to be constructed by nesting smaller API definitions. The project covers comprehensive API lifecycle capabilities, including schema-dr
Maps incoming URL paths to specific logic handlers and endpoints.
Apihub is a deployable REST API mock server and public sandbox that provides a collection of functional endpoints for testing HTTP requests and building frontend portfolios. It serves as a pre-built backend infrastructure for simulating diverse services without requiring a custom backend. The project provides dedicated mock endpoints for various business domains, including ecommerce workflows, social networking features, realtime chat, and task management. It also includes specialized endpoints for verifying HTTP method behavior and header handling. The system implements a RESTful architectu
Maps diverse functional paths to specific logic handlers to simulate multiple independent service categories.
Rails Admin is a web-based management dashboard and Active Record model manager for Ruby on Rails applications. It provides a graphical user interface for creating, reading, updating, and deleting database records, serving as a secure back office for database content management and administrative data auditing. The project distinguishes itself through a reflection-based schema mapping system that automatically generates CRUD interfaces from database metadata. It includes specialized tools for data versioning and change auditing to track administrative activity, as well as utilities for import
Implements architectural patterns that map administrative network requests to specific backend operations using structured handlers.
Higress is an AI API gateway and cloud-native traffic manager that functions as a Kubernetes ingress controller. It provides a centralized system for routing, securing, and optimizing traffic directed toward large language models, AI agents, and microservice architectures. The project distinguishes itself through deep AI orchestration, including the ability to host and manage Model Context Protocol servers that transform REST APIs into tools for AI agents. It features specialized AI infrastructure for model request proxying, protocol translation across multiple providers, and semantic-based c
Directs requests to backend services using fixed IP addresses or DNS domain names.
koa2-note es un proyecto centrado en el desarrollo de servidores web con Koa2 y programación asíncrona en Node.js. Proporciona un framework para construir servidores web y APIs utilizando un pipeline de middleware asíncrono para manejar ciclos de solicitud y respuesta. El proyecto enfatiza una arquitectura de backend en capas que desacopla el enrutamiento, los servicios de negocio y los modelos de datos. Se distingue por la integración de bases de datos relacionales para persistir sesiones de usuario y datos de la aplicación, junto con un proceso de compilación que incluye la transformación de JSX a JavaScript para los activos del frontend. La superficie de capacidades cubre el diseño de APIs de backend, incluyendo enrutamiento RESTful y análisis de datos de solicitud, así como renderizado del lado del servidor con motores de plantillas. También incluye soporte para carga de archivos asíncrona mediante análisis de streams multipart, gestión de sesiones basada en cookies y la implementación de JSONP para solicitudes entre dominios. El repositorio sirve como recurso educativo con tutoriales estructurados y ejemplos para aprender la implementación del framework Koa y la arquitectura de servidores.
Maps URL patterns to handler functions to organize API endpoints into logical groups and sub-routes.
Linfa es un framework de aprendizaje automático clásico y suite de aprendizaje estadístico implementado en Rust. Proporciona una colección de algoritmos para aprendizaje supervisado y no supervisado, centrados en métodos estadísticos tradicionales como regresión, clustering y árboles de decisión. El kit de herramientas se distingue por su capacidad de ser compilado en WebAssembly, permitiendo que los modelos analíticos se ejecuten dentro de entornos de navegador. Emplea una interfaz de algoritmo basada en traits para estandarizar el proceso de entrenamiento y predicción en sus diversos modelos. La biblioteca cubre una amplia gama de capacidades, incluyendo clasificación supervisada y regresión de valores continuos. Proporciona clustering no supervisado, métodos de conjunto (ensemble) para la agregación de modelos y procesamiento de señales mediante análisis de componentes independientes. La suite también incluye herramientas extensas de preprocesamiento de datos para normalización de características, vectorización de texto y reducción de dimensionalidad mediante PCA y t-SNE. Se proporcionan utilidades adicionales para la gestión de datos, incluyendo importación CSV y generación de conjuntos de datos sintéticos, así como herramientas de evaluación de modelos como matrices de confusión y métricas de validación cruzada.
Standardizes model training and prediction through a common trait-based interface for diverse learning algorithms.