AngusInfra is a rapid development foundational framework based on SpringBoot. It aims to simplify and accelerate the development process of multi-tenant applications, enabling developers to build scalable, secure, and maintainable server-side applications more efficiently.
- 
π OpenAPI Support: Strict compliance with OpenAPI specifications ensures broad community support for API development and management. 
- 
π Multi-Tenancy Architecture: Designed as a shared-datasource multi-tenant system, AngusInfra simplifies management and reduces hardware/operational costs while ensuring robust data isolation and security. 
- 
π SpringBoot Foundation: Built on SpringBoot with business-oriented extensions, it delivers powerful backend capabilities, leverages a mature ecosystem, and accelerates development workflows. 
- 
π Rapid Development: Pre-built components and modules enable developers to quickly scaffold applications, cutting development cycles significantly. - π Generic Business Logic: Standardized templates for high-frequency business scenarios reduce redundant code by over 50%.
- π Rich Utilities: Out-of-the-box APIs for data conversion, validation, and enhanced wrappers for mainstream middleware (Cache/Database/Remote) boost development efficiency by 50%.
 
- 
π Extensibility: Modular architecture allows flexible customization of business logic and user interfaces to meet project-specific needs. 
- 
π Security-First Design: Integrated authentication and authorization mechanisms (OAuth2, API Key, etc.) safeguard user data and application integrity. 
| Module | Description | 
|---|---|
| spec | Public specifications library defining global common models (DTOs/enums/error codes), interface contracts, and cross-module communication protocols. | 
| core | Core foundational library providing common utilities (Exception handling, Event collection, Multi-Tenancy handling, Spring extensions, etc.) as the underlying support for all components. | 
| Module | Description | 
|---|---|
| datasource | Datasource extension library offering multi-tenant dynamic datasource configuration, basic sharding strategies, and read-write separation based on Spring JPA. | 
| l2cache | Two-level cache library integrating Redis + Caffeine for high-performance caching, supporting distributed consistency and cache penetration prevention strategies. | 
| lettucex | Redis enhancement library standardizing Lettuce configurations and providing business extension utilities. | 
| Module | Description | 
|---|---|
| security/auth-server-starter | OAuth2 authorization server with automated token issuance, key management, and authorization endpoint configuration. | 
| security/auth-resource-starter | Resource server component supporting password and client credentials grant types for resource access authorization. | 
| security/auth-openapi-starter | Private API authentication module (OAuth2 client credentials) for third-party system integration. | 
| security/auth-openapi2p-starter | Open API authentication module (API Key schema) for standardized SaaS private deployment authorization. | 
| security/auth-innerapi-starter | Internal service authentication module (lightweight signature verification) for secure inter-service communication. | 
| Module | Description | 
|---|---|
| integration/web-starter | RESTful API development toolkit with auto-configured unified response formats, global exception handling, and CORS policies. | 
| integration/oas3-starter | OpenAPI 3.x support with automated API documentation generation and Swagger UI integration. | 
| Module | Description | 
|---|---|
| idgen | Distributed ID generator supporting Snowflake, custom business IDs, and other strategies. | 
| validator | Enhanced validation library with annotation-based rules and custom validator templates. | 
| checkstyle | Automated code style rules enforcing Google coding standards. | 
| remote | OpenFeign-based remote call library with DTO/VO/TO definitions, unified response formats, and multi-language support. | 
| bom | Bill of Materials (BOM) for centralized dependency version management and conflict resolution. | 
| Module | Description | 
|---|---|
| parent | Maven parent POM defining global build configurations, plugin management, and profile strategies. | 
| docs | Documentation repository including architecture design, module guides, and quickstart instructions. | 
π‘ AngusInfra is particularly well-suited for SaaS applications that require multi-tenant support, enterprise internal systems, and other web applications that need rapid development and deployment.
π Licensed under GPLv3