Spring Boot is a production-grade Java framework that simplifies building standalone, web, and microservice applications on the Spring platform. The repository provides the core framework (auto-configuration, embedded web servers, actuator endpoints), build plugins (Maven, Gradle, Ant) for packaging executable JARs/WARs and OCI images, a custom classloader for nested JARs, and a buildpack platform integration for Docker image creation. Its architecture is deeply modular: the `core/spring-boot` module handles application bootstrap and configuration binding; `core/spring-boot-autoconfigure` contains hundreds of conditional auto-configuration classes; `loader/spring-boot-loader` enables nested JAR execution; and `build-plugin/*` integrates with build tools. Extensive documentation and smoke tests verify integrations with databases, messaging, security, observability, and cloud platforms. Spring Boot is not an end-user application but a framework with a highly refined convention-over-configuration approach, strong null-safety via `@NullMarked`, and a consistent pattern of functional customizers and failure analyzers. The code exhibits exceptional craftsmanship in modularity, test coverage, and API design, though its sheer size and many deprecations indicate ongoing evolution.
Stirling PDF is a comprehensive, open-source PDF processing platform that provides 50+ document manipulation tools (merge, split, compress, OCR, sign, redact, convert, etc.) via a web UI, REST API, and desktop client (Tauri). The backend is a modular Java Spring Boot application split into core, common, proprietary, and SaaS modules, while the frontend is a React/TypeScript app with Mantine UI and Storybook. The system also includes a Python FastAPI engine for AI-powered features such as document classification, math auditing, and question answering, and an enterprise policy engine for automated document workflows with triggers, pipelines, and output sinks (local, S3, vector DB). It supports self-hosted, SaaS (Supabase/Stripe), and desktop deployment modes with clustering via Valkey/Redis backplane, SSO/OAuth2/SAML2 authentication, and comprehensive billing/licensing (PAYG, subscriptions, enterprise). The architecture is multi-module with clear separation of concerns: `app/common` provides shared utilities (PDF parsing, security, cluster abstractions, temp file management), `app/core` implements core PDF operations, `app/proprietary` adds enterprise features (encrypted storage, policy engine, audit, hardware signing), and `app/saas` handles SaaS-specific billing and team management. The frontend uses a shadowing pattern to swap implementations per build variant (core, proprietary, desktop, SaaS) without conditional imports. The AI engine runs as a separate Python service with streaming progress events and two-round protocols for complex tasks. Key data flows include: PDF upload → tool execution (Java PDFBox/iText) → output download; policy-triggered processing (folder watch, schedule) → pipeline execution → output delivery; AI agent workflows (classification, auditing) with progress streaming. External dependencies include LibreOffice (document conversion), Tesseract (OCR), PDFBox, iText, and various cloud services (Supabase, Stripe, PostHog). The codebase demonstrates high craftsmanship with extensive unit/integration/E2E tests, reusable component patterns (createToolFlow, useBaseTool), and well-abstracted interfaces for storage, signing, licensing, and clustering.
Apache ShenYu is a production-grade, plugin-based API gateway and microservices proxy platform written in Java. The runtime gateway (shenyu-bootstrap, a Spring WebFlux application) ingests HTTP/HTTPS/WebSocket traffic and processes each exchange through an ordered chain of ShenyuPlugin implementations covering protocol translation (HTTP, gRPC, Apache Dubbo, SOFA, Tars, MQTT, TCP), security (sign, JWT, OAuth2, key-auth, cryptor, WAF), traffic management (rate limiting, resilience4j), caching, logging (Kafka, Elasticsearch, RocketMQ, console), request rewriting, mocking, and AI proxy/token limiting. Routing, selector, rule, and plugin data is not hardcoded; it is synchronized dynamically from the admin plane. The management plane is shenyu-admin, a Spring MVC/MyBatis application exposing roughly 40 REST controllers for managing plugins, selectors, rules, metadata, namespaces, app auth, users/roles/permissions, discovery, and configuration import/export. Persistence supports H2, MySQL, PostgreSQL, OpenGauss, and Oracle via MyBatis mappers, with upgrade SQL scripts under db/upgrade. Configuration changes flow from admin to gateways through WebSocket, HTTP long polling, ZooKeeper, Nacos, etcd, or Apollo listeners, all built on shared abstract data-changed-listener templates. Client SDK modules (shenyu-client-*) auto-register Spring MVC, Dubbo, gRPC, SOFA, Tars, and WebSocket APIs using annotation-based extractors and a Disruptor-based async publish pipeline; a Kubernetes controller reconciles ingress/gateway-api resources. The repository demonstrates strong craftsmanship: a Dubbo-style SPI framework (@SPI/@Join/ExtensionLoader) drives pluggable match strategies, predicate judges, load balancers (Random, RoundRobin, LeastActive, P2C, ShortestResponse), cryptors, and rate limiter algorithms; shenyu-common contains a W-TinyLFU cache and memory-bounded queues that prevent OOM under burst; the admin uses domain events for audit logging and an observer pattern for Prometheus-driven auto-scaling. Testing is extensive (per-module unit tests, Spring Boot integration tests, Docker-Compose e2e suites, K8s examples). Main weaknesses are surface-area boilerplate across dozens of plugin modules, some experimental/placeholder code (WASM, AI, MCP), and a few disabled tests — typical for a large Apache project. Maintenance is active with recent commits, CodeQL scanning, and zero dependabot alerts; technical drift is low.
Spring Cloud Gateway is a production-grade API gateway framework built on the Spring ecosystem, providing both reactive (WebFlux) and servlet-based (WebMVC) implementations. It routes HTTP/HTTPS/gRPC/WebSocket traffic through a configurable chain of predicates and filters, supporting features such as path rewriting, header manipulation, rate limiting (Redis/Bucket4j), circuit breaking (Resilience4J), retry with backoff, response caching, load balancing, and distributed tracing (Micrometer/OpenTelemetry). The architecture is plugin-based: route predicates and filter factories are registered as Spring beans and composed via a fluent builder DSL or YAML/properties configuration. External dependencies include Project Reactor, Spring Cloud Load Balancer, Redis, and optional integrations with gRPC, OAuth2, and serverless functions. The codebase is organized into multiple Maven modules: the core server modules (spring-cloud-gateway-server-webflux and spring-cloud-gateway-server-webmvc) contain the routing engine, filter/predicate factories, and auto-configuration; proxy exchange modules provide lightweight annotation-based proxying; and integration tests cover HTTP/2, SSL, WebSocket, and gRPC scenarios. Key entry points include FilteringWebHandler (WebFlux) and GatewayRouterFunctions (WebMVC) for request processing, RoutePredicateHandlerMapping for route matching, and GatewayAutoConfiguration for bean wiring. The system is designed for extensibility: custom filters and predicates can be added by implementing GatewayFilter or RoutePredicateFactory and registering them as beans. Data flows follow a standard gateway pattern: an incoming request is matched against route definitions (loaded from properties, Redis, or service discovery), then passed through a chain of global filters and route-specific filters. Filters can modify the request/response, cache bodies, enforce rate limits, or invoke circuit breakers before forwarding to the backend via a configurable HTTP client (Netty-based for WebFlux, RestTemplate/WebClient for WebMVC). Observability is embedded via Micrometer metrics and OpenTelemetry tracing, with custom observation conventions for gateway-specific events.
Apache Shiro is a mature Java security framework and library, not an end-user application. It provides authentication, authorization, session management, and cryptography through a modular Maven multi-module architecture. The central abstractions are SecurityManager, Subject, Realm, Authenticator, Authorizer, and SessionManager, backed by pluggable implementations such as JDBC, LDAP, Active Directory, and text-based realms. The web module adds servlet filters, filter-chain management, JSP/JSF tags, and path-matching URL security, while support modules integrate with Spring, Spring Boot, Guice, CDI, JAX-RS, AspectJ, Quartz, and Jakarta EE. The crypto modules offer modern password hashing (Argon2, BCrypt), legacy SHA hashing, symmetric ciphers, and hash format serialization. The framework is embeddable via programmatic configuration, annotation-driven AOP interceptors, or the legacy INI-based configuration path, which is now deprecated in favor of environment-based setup. The codebase is heavily tested with unit tests and container-based integration tests, and core interfaces remain small and clean; however, it carries noticeable legacy baggage including deprecated factories, duplicated JSP/JSF tag implementations, mixed mocking frameworks, and numerous support modules that require ongoing maintenance to avoid drift. It has no data pipelines or research components; all data-related code is limited to security data sources, caching, and test fixtures.
Microcks is a cloud-native API mocking and testing platform that ingests API specifications (OpenAPI, AsyncAPI, gRPC, GraphQL, Postman, SoapUI, HAR, and protobuf) and dynamically generates live mock endpoints and contract conformance tests. It supports REST, SOAP, GraphQL, gRPC, and asynchronous protocols (Kafka, RabbitMQ, MQTT, NATS, WebSocket, Amazon SQS/SNS, Google PubSub). The architecture consists of a main Spring Boot web application with an Angular frontend, a separate Quarkus-based async minion for event-driven mocking and testing, and optional dependencies on MongoDB, Keycloak, Kafka, and external message brokers. The system provides a rich set of features: dynamic response dispatching based on request parameters, scriptable mocks (Groovy/JavaScript), a template engine for dynamic content, SLA management, webhook notifications, AI-assisted sample generation via OpenAI, and OpenTelemetry-based observability. It is a well-engineered, modular project with extensive test coverage and a clean separation of concerns.
This repository is the **Wow** framework, a comprehensive, production-grade event-sourcing and CQRS framework for building reactive, cloud-native applications in Kotlin and Java. It provides a full stack: domain modeling with aggregates, commands, events, and sagas; reactive command/event buses with multiple backends (MongoDB, Redis, Elasticsearch, Kafka); a query gateway with rich filter DSL and snapshot/event-stream queries; automatic OpenAPI generation; a compensation subsystem with a React dashboard for managing failed executions and retries; observability via OpenTelemetry; and BI tooling for ClickHouse. The architecture is modular (30+ Gradle modules) but deployable as separate services (e.g., compensation server, example server). It is actively developed with extensive tests (unit, contract, integration, JMH benchmarks) and comprehensive documentation.
JeecgBoot is an enterprise-grade low-code development platform that accelerates application delivery through AI-powered code generation, online form/report builders, and workflow integration. The backend is built on Spring Boot 3 with MyBatis-Plus, Shiro, and JWT, supporting both monolithic and microservice architectures (Spring Cloud, Nacos, Sentinel, XXL-Job). The frontend uses Vue 3 + TypeScript + Ant Design Vue with a rich component library including JVxeTable for editable grids and schema-driven forms. The platform provides comprehensive RBAC, multi-tenancy, dynamic data sources, data dictionaries, and third-party integrations (DingTalk, WeChat, Feishu). A dedicated AI module (airag) offers RAG knowledge bases, LLM chat, voice/image generation, and MCP plugin support. The codebase is actively maintained with frequent commits and a large community, though it contains some commented-out legacy code and hardcoded security values that represent minor technical debt.
Flowable is a lightweight, embeddable Business Process Management (BPM) platform written in Java. It provides a suite of engines for BPMN 2.0 process execution, CMMN case management, DMN decision tables, form management, identity management, and event registry. The architecture is modular: core engines, service modules (job, batch, variable, task, identitylink, entitylink), REST APIs, Spring Boot auto-configuration, and integration modules (Camel, CDI, JMX, LDAP, HTTP, secure JavaScript). Key entry points include ProcessEngine, CmmnEngine, DmnEngine, IdmEngine, and EventRegistry. Data flows involve deploying XML definitions, starting process/case instances, executing tasks, handling events, and persisting state to relational databases (MySQL, PostgreSQL, Oracle, DB2, MSSQL, H2, HSQL). The codebase is production-grade with extensive testing, schema migration scripts, and support for GraalVM native images. It is actively maintained with a large community (9.5k stars). However, it carries legacy compatibility modules (flowable5-engine) and some technical debt from the Activiti migration, resulting in moderate technical drift.
CIM (Cross-platform Instant Messaging) is a production-grade, modular instant messaging framework built with Java 17, Spring Boot 3.3, and Netty. It provides a complete IM solution including a Netty-based server (cim-server) for handling client connections and message forwarding, a routing server (cim-forward-route) for message routing, user login/offline management, and a client SDK (cim-client-sdk) for building custom clients. The system uses Zookeeper for service discovery, Redis for caching and session management, and optionally MySQL for offline message persistence. It supports group chat, private chat, offline messages, delayed messages, emoji, AI mode, and a built-in command system. The architecture is microservice-oriented with clear separation of concerns, and the codebase demonstrates strong engineering practices including consistent hashing for server selection, a custom ring buffer wheel for delayed tasks, a dynamic HTTP proxy for RPC calls, and a trie-based prefix search. The project includes comprehensive unit and integration tests, Docker support, and CI/CD pipelines.
Exposed is a Kotlin SQL ORM library by JetBrains that provides a type-safe DSL for database operations, an optional DAO/entity layer, schema migration tooling, and multi-database support. The architecture is modular: a core module (exposed-core) defines the SQL DSL, column types, expression trees, and vendor dialects; separate modules implement synchronous JDBC (exposed-jdbc) and reactive R2DBC (exposed-r2dbc) backends; the DAO layer (exposed-dao, exposed-dao-r2dbc) adds entity management with caching, relationships, and lifecycle hooks; additional modules provide encryption, JSON, money types, Spring Boot auto-configuration, and Gradle/Maven plugins for migration generation. The library supports H2, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, SQLite, and Amazon Redshift, with extensive dialect-specific SQL generation and type mapping. Key entry points include Database.connect() for JDBC and R2dbcDatabase.connect() for R2DBC, transaction scopes (transaction {} / suspendTransaction {}), table/column definitions via DSL functions, and entity classes (IntEntity, UuidEntity, etc.) for the DAO pattern. Data flows through a query builder that constructs parameterized SQL statements, which are then executed by backend-specific executables (BlockingExecutable for JDBC, SuspendExecutable for R2DBC). The library also provides statement interceptors for logging and monitoring, and a migration utility that can generate Flyway-compatible scripts from table definitions. External dependencies include JDBC drivers for each supported database, R2DBC drivers, Spring Framework (for the Spring Boot starters and transaction integration), and optional libraries for encryption (AES, BCrypt, Argon2). The build system is Gradle with Kotlin DSL, and the project publishes multiple artifacts to Maven Central. The codebase demonstrates strong engineering practices with extensive cross-database test suites, parameterized tests, and continuous integration across multiple database containers.
This repository is the official Spring PetClinic sample application, a classic web application for managing a veterinary clinic's owners, pets, and visits. It is built as a Spring Boot monolith using Spring MVC, Spring Data JPA, Thymeleaf templating, and an H2 in-memory database by default, with optional MySQL and PostgreSQL backends. The application demonstrates a wide range of Spring Boot features including caching (JCache), internationalization (10+ languages), form validation, custom formatters, and comprehensive testing with JUnit 5, Mockito, and Testcontainers. It also includes a JMeter load test plan, Kubernetes deployment manifests, and CI/CD workflows for Maven and Gradle. The architecture follows a standard layered pattern: controllers handle HTTP requests, repositories provide data access via Spring Data JPA, and Thymeleaf templates render the UI. Domain models use a clean inheritance hierarchy (BaseEntity, NamedEntity, Person) to reduce duplication. The codebase is well-structured and serves as a reference for Spring Boot best practices, though it is intentionally a sample and not a production-ready system. It is actively maintained by the Spring team and tracks the latest Spring Boot releases. Key functional areas include owner management (CRUD with search), pet management (with duplicate name detection), visit scheduling (with future-date validation), and a veterinarian listing page. The application also includes a crash controller to demonstrate error handling and a welcome page. The code is clean, well-tested, and follows Spring conventions, making it a valuable learning resource for developers new to Spring Boot.
Apache Dubbo is a mature, actively maintained Java-based RPC framework and microservices platform. It is not a data research project. The codebase implements a complete distributed service communication solution, including multiple RPC protocols (Dubbo2/TCP, Triple/gRPC-compatible, REST, WebSocket), service discovery and registration (ZooKeeper, Nacos, Apollo, multicast), traffic management (routing, load balancing, circuit breaking), observability (metrics, tracing, monitoring), security (authentication, TLS), and a large set of extension points via a custom SPI mechanism. The architecture is modular and layered, organized into distinct Maven modules for remoting, RPC, cluster, config, registry, metadata, metrics, serialization, and Spring Boot integration. Key entry points include DubboBootstrap for programmatic startup, ServiceConfig/ReferenceConfig for service export/import, and various protocol and registry factories loaded via SPI. The system relies heavily on URL-based configuration, extension loading, and a scope model (framework, application, module, service) for lifecycle and classloader isolation. The codebase is massive (4870 files), with extensive test coverage and active development (last commit 2026-06-29). It demonstrates strong engineering practices: clean abstractions, consistent patterns, backward-compatibility layers (dubbo-compatible), and support for modern Java versions and Spring Boot 3.
Halo is a full-stack content management system (CMS) and blogging platform built on Spring Boot WebFlux (reactive) and Vue 3. It provides a Kubernetes-inspired extension model for defining custom resources (posts, pages, comments, attachments, themes, plugins) with automatic RESTful CRUD endpoints, indexing, and reconciliation controllers. The system features a plugin architecture (PF4J-based) that allows third-party extensions to contribute UI bundles, security filters, notification handlers, search engines, and theme template processors. The frontend is split into an admin console and a user center, both built with Vue 3, FormKit, TanStack Query, and a rich-text editor (Tiptap). Security includes multiple authentication methods (password, OAuth2, email code, TOTP two-factor), RBAC authorization, remember-me, device management, and sudo confirmation. The theme engine uses Thymeleaf with custom dialects and a finder pattern to expose backend data to templates. The codebase is large but well-organized, with clear separation between API interfaces and implementations, extensive use of reactive programming, and a strong emphasis on extensibility through extension points.
ruoyi-vue-pro (芋道) is a large-scale, multi-module enterprise rapid development platform built on Spring Boot 2.7, MyBatis-Plus, and Vue 3. It provides a comprehensive backend infrastructure for building business applications such as ERP, CRM, HRM, MES, WMS, OA, BPM (Flowable), IoT, AI, IM, Pay, Mall, and more. The codebase is structured around a reusable framework layer (`yudao-framework`) with many Spring Boot starters for security, data permission, multi-tenancy, WebSocket, Excel, monitoring, and protection (rate limiting, idempotency). Business modules follow a consistent layered pattern (DO → Mapper → Service → Controller → VO) with MapStruct converters. The system supports MySQL, PostgreSQL, Oracle, SQL Server, and Dameng databases, and integrates with Redis, RabbitMQ, Kafka, RocketMQ for messaging. It includes a code generator, a workflow designer, and AI chat/image/mind-map capabilities. The architecture is modular and well-organized, though the sheer number of modules (20+) introduces some duplication and complexity. Overall, it is a mature, actively maintained project with strong adherence to common enterprise patterns.
Nacos is a production-grade dynamic service discovery, configuration management, and service management platform, originally built by Alibaba. The codebase is a large Java/Spring Boot monolith with a React frontend, organized into modules for core infrastructure (cluster, gRPC, Raft consensus, Distro sync), configuration management (CRUD, long-polling, gray rules, history), naming/service discovery (instance registration, health checks, push v2), and an extensive plugin system (auth, datasource, encryption, control, visibility). In recent versions, Nacos has expanded into AI resource management, adding modules for MCP server registry, agent specs, skills, prompts, A2A agent discovery, vector search indexing, and pipeline execution. The repository includes two frontend codebases (legacy console-ui and modern console-ui-next with Radix UI/Tailwind), a Java client SDK, and comprehensive unit/integration tests. The architecture is modular with SPI-based plugin loading, event-driven internal communication, and support for multiple databases (Derby, MySQL, PostgreSQL, Oracle). Despite its size and rapid AI feature growth, the codebase maintains solid engineering practices with clear separation of concerns, extensive test coverage, and a well-defined plugin contract.
This repository provides a generic-based dependency injection framework for Go, called 'kod' (Killer Of Dependency), along with a CLI tool for code generation, component registration, and dependency graph validation. It features a rich interceptor chain for cross-cutting concerns (retry, validation, tracing, rate limiting, circuit breakers, etc.), and includes a comprehensive test suite and examples. The codebase also incorporates an extensive set of AI agent skills for software development workflows (grilling, code review, TDD, domain modeling) from the mattpocock/skills ecosystem. The primary value is the DI framework that leverages Go generics to provide compile-time safety for component wiring, with generated boilerplate code. The architecture is modular with clear separation of core, interceptors, internal utilities, and tests. It is actively maintained with modern Go features.
Conductor is a production-grade workflow orchestration engine originally built at Netflix, now maintained by Orkes and the community. It provides durable execution for microservices, AI agents, and adaptive workflow graphs. The system defines workflows as versioned JSON DAGs with support for dynamic forks, loops, retries, timeouts, cancellation, pause/resume, and human-in-the-loop approvals. It has a modular Spring Boot backend with multiple persistence backends (PostgreSQL, MySQL, Cassandra, Redis, SQLite, Elasticsearch/OpenSearch) and event queue integrations (AMQP, NATS, SQS). The frontend is a modern React application with XState state machines, Material-UI, and a plugin system for extensibility. The codebase also includes a comprehensive AI integration layer with LLM providers (OpenAI, Anthropic, Gemini, etc.), vector databases, MCP tool calling, and the A2A agent-to-agent protocol. The architecture is microservices-ready with REST and gRPC APIs, a scheduler for cron-based workflows, and external payload storage (S3, GCS, Azure Blob). The project is actively maintained with a large community, but shows signs of technical drift due to multiple persistence backends, two coexisting UI codebases (legacy and modern), and some deprecated components.
XXL-JOB is a distributed task scheduling framework designed for rapid development, simplicity, and lightweight operation. It consists of a scheduler center (admin) and multiple executors. The admin provides a web UI for CRUD job management, scheduling (cron, fix rate, fix delay), routing strategies (first, last, round, random, consistent hash, LFU, LRU, failover, busyover, sharding broadcast), misfire handling, alarm (email), and monitoring. Executors run on any JVM and communicate with the admin via Netty-based HTTP RPC. The framework supports BEAN (annotated methods), GLUE (online Groovy/script editing), script tasks (Shell, Python, PHP, NodeJS, PowerShell), HTTP tasks, and AI tasks (Ollama, Dify, OpenClaw). It includes an OpenAPI for cross-language integration, user management with role-based permissions, and Docker deployment. The architecture is modular: xxl-job-core provides the executor runtime and shared interfaces, xxl-job-admin is the Spring Boot admin application, and sample executors demonstrate integration. External dependencies include MySQL (persistence), Netty (executor server), Groovy (glue tasks), and Spring Boot. The framework is production-ready with HA support for both scheduler and executor clusters.
Apollo is a distributed configuration management system designed for microservices architectures. It provides a centralized web portal (AngularJS frontend with Spring Boot backend) for managing application configurations across multiple environments (DEV, FAT, UAT, PRO, etc.) and clusters. The system supports real-time configuration updates via long-polling, version management, grayscale (canary) releases, role-based access control, and comprehensive audit logging. It exposes REST APIs for programmatic management through an OpenAPI v1 layer and provides client SDKs for various languages. The architecture consists of three main services: apollo-portal (management UI and OpenAPI endpoints), apollo-adminservice (admin CRUD operations), and apollo-configservice (client-facing configuration delivery with long-polling notifications). These services share a common business logic module (apollo-biz) and persist data in MySQL databases (ApolloConfigDB and ApolloPortalDB). The portal communicates with admin services via REST, while clients poll the config service for updates. The system also includes a service registry module for discovery of admin service instances, supporting multiple discovery mechanisms (Eureka, Consul, Nacos, Zookeeper, database, Kubernetes). Key entry points include the portal web UI, OpenAPI v1 endpoints (/openapi/v1/), admin service REST APIs, and config service APIs for client configuration retrieval and notification. The primary data flow involves creating/modifying configurations through the portal or OpenAPI, which are stored in the database. Changes trigger release messages that are scanned by the config service to notify connected clients. Clients then fetch the latest configurations via the config service. The system also supports gray releases, branching, rollback, and configuration import/export. External dependencies include MySQL (primary database), optional service discovery mechanisms (Eureka, Consul, Nacos, Zookeeper, Kubernetes), LDAP/OIDC for authentication, and email/MQ services for notifications. The codebase is modular with clear separation of concerns, extensive test coverage, and a well-defined SPI (Service Provider Interface) pattern for extensibility.