29 dépôts
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 est un projet axé sur le développement de serveurs web Koa2 et la programmation asynchrone Node.js. Il fournit un framework pour construire des serveurs web et des API en utilisant un pipeline de middleware asynchrone pour gérer les cycles de requête et de réponse. Le projet met l'accent sur une architecture backend en couches qui découple le routage, les services métier et les modèles de données. Il se distingue par l'intégration de bases de données relationnelles pour la persistance des sessions utilisateur et des données d'application, ainsi qu'un processus de build incluant la compilation JSX-vers-JavaScript pour les assets frontend. La surface de capacités couvre la conception d'API backend, incluant le routage RESTful et l'analyse des données de requête, ainsi que le rendu côté serveur avec des moteurs de template. Il inclut également la prise en charge des téléchargements de fichiers asynchrones via l'analyse de flux multipart, la gestion de session par cookies et l'implémentation de JSONP pour les requêtes inter-domaines. Le dépôt sert de ressource éducative avec des tutoriels structurés et des exemples pour apprendre l'implémentation du framework Koa et l'architecture serveur.
Maps URL patterns to handler functions to organize API endpoints into logical groups and sub-routes.
Linfa est un framework de machine learning classique et une suite d'apprentissage statistique implémentée en Rust. Il fournit une collection d'algorithmes pour l'apprentissage supervisé et non supervisé, axés sur les méthodes statistiques traditionnelles telles que la régression, le clustering et les arbres de décision. La boîte à outils se distingue par sa capacité à être compilée en WebAssembly, permettant aux modèles analytiques de s'exécuter dans des environnements de navigateur. Elle emploie une interface d'algorithme basée sur des traits pour standardiser le processus d'entraînement et de prédiction à travers ses divers modèles. La bibliothèque couvre un large éventail de capacités, notamment la classification supervisée et la régression de valeurs continues. Elle fournit le clustering non supervisé, des méthodes d'ensemble pour l'agrégation de modèles et le traitement du signal via l'analyse en composantes indépendantes. La suite inclut également des outils de prétraitement de données étendus pour la normalisation des caractéristiques, la vectorisation de texte et la réduction de dimensionnalité utilisant PCA et t-SNE. Des utilitaires supplémentaires sont fournis pour la gestion des données, y compris l'importation CSV et la génération de jeux de données synthétiques, ainsi que des outils d'évaluation de modèles tels que les matrices de confusion et les métriques de validation croisée.
Standardizes model training and prediction through a common trait-based interface for diverse learning algorithms.