A comprehensive, modular full-stack development suite combining reactive backend services, dynamic frontend frameworks, and enterprise-grade persistence tooling. Built on Vert.x 5, Guice 7, Hibernate Reactive 7, Angular 21, and Java 25+ with full JPMS module system support.
Built on Vert.x Β· Google Guice Β· Hibernate Reactive Β· Angular Β· Mutiny Β· JPMS-compliant Β· Java 25+
DevSuite is a multi-module Maven reactor project. Clone and build the entire suite or work with individual profiles:
git clone --recursive https://github.com/your-org/DevSuite.git
cd DevSuite
mvn clean installDevSuite organizes modules into several Maven profiles for targeted builds:
# Build GuicedEE core modules
mvn clean install -P guicedee
# Build GuicedEE services
mvn clean install -P services
# Build JWebMP modules
mvn clean install -P jwebmp
# Build JWebMP plugins
mvn clean install -P jwebmp-plugins
# Build ActivityMaster modules
mvn clean install -P activitymaster
# Build all modules
mvn clean install -P guicedee,services,jwebmp,jwebmp-plugins,activitymaster- Reactive-First Architecture β Built on Vert.x 5 event loop with Mutiny reactive streams for non-blocking I/O
- Dependency Injection β Google Guice 7 with JPMS module system integration and lifecycle management
- Modular Design β Full Java Platform Module System (JPMS) support with explicit module boundaries
- Reactive Persistence β Hibernate Reactive 7 with Mutiny for truly non-blocking database operations
- RESTful Services β JAX-RS endpoints with reactive extensions and OpenAPI/Swagger integration
- WebSocket Support β Full-duplex reactive WebSocket communication with message routing and group management
- Frontend Integration β Angular 21 with TypeScript 5, server-side rendering support, and reactive data binding
- Configuration Management β MicroProfile Config with environment-based configuration and hot-reload
- Observability β Integrated metrics (Prometheus), health checks, distributed tracing (OpenTelemetry), and telemetry
- Security β Reactive authentication/authorization, JWT tokens, OAuth2/OIDC integration
- Message Queuing β RabbitMQ integration for event-driven architectures and pub/sub patterns
- Testing Framework β Comprehensive test harness with Testcontainers, JUnit 5, and reactive test utilities
DevSuite is organized into four primary component suites:
DevSuite/
βββ GuicedEE/ # Reactive backend framework
β βββ bom/ # Bill of Materials and version management
β βββ parent/ # Parent POM with common configuration
β βββ client/ # Guice context and injection utilities
β βββ inject/ # Core dependency injection framework
β βββ vertx/ # Vert.x integration and reactive runtime
β βββ persistence/ # Hibernate Reactive persistence layer
β βββ web/ # HTTP server and routing
β βββ websockets/ # WebSocket support
β βββ rest/ # JAX-RS REST services
β βββ rest-client/ # Reactive REST client
β βββ cerial/ # Serialization and data transformation
β βββ config/ # MicroProfile Config implementation
β βββ metrics/ # Metrics and monitoring
β βββ health/ # Health check endpoints
β βββ telemetry/ # Distributed tracing and observability
β βββ cdi/ # CDI compatibility layer
β βββ rabbitmq/ # RabbitMQ messaging integration
β βββ openapi/ # OpenAPI specification generation
β βββ swagger-ui/ # Swagger UI integration
β βββ mcp/ # Model Context Protocol support
β βββ fault-tolerance/# Fault tolerance patterns
β βββ workflows/ # Workflow orchestration
β βββ webservices/ # SOAP/XML web services
β βββ website/ # Documentation and website
β βββ services/ # Third-party library integrations
β βββ representations/# Data representation formats (JSON, XML, Excel)
β
βββ JWebMP/ # Java Web Markup Pages - Server-side Angular rendering
β βββ bom/ # JWebMP Bill of Materials
β βββ parent/ # Parent POM
β βββ client/ # Client-side utilities
β βββ core/ # Core rendering engine
β βββ testlib/ # Testing library
β βββ vertx/ # Vert.x integration
β βββ rabbitcomms/ # RabbitMQ browser communication
β βββ plugins/ # UI component plugins
β βββ tsclient/ # TypeScript client generation
β βββ angular/ # Angular integration
β βββ fontawesome/ # Font Awesome icons
β βββ fontawesome-pro/# Font Awesome Pro
β βββ easing/ # Animation easing effects
β βββ chartjs/ # Chart.js integration
β βββ fullcalendar/ # FullCalendar integration
β βββ fullcalendar-pro/# FullCalendar Pro
β βββ aggrid/ # AG Grid data tables
β βββ aggrid-enterprise/# AG Grid Enterprise
β βββ agcharts/ # AG Charts visualization
β βββ agcharts-enterprise/# AG Charts Enterprise
β βββ webawesome/ # Web Awesome components
β βββ webawesome-pro/ # Web Awesome Pro
β βββ angular-maven-plugin/# Angular build integration
β
βββ EntityAssist/ # CRTP-based reactive persistence toolkit
β βββ ... # See EntityAssist/README.md
β
βββ ActivityMaster/ # Complete activity and content management platform
βββ bom/ # ActivityMaster BOM
βββ parent/ # Parent POM
βββ client/ # Client SDK
βββ core/ # Core services
βββ cerial/ # Cerial integration
βββ cerial-client/ # Cerial client
βββ profiles/ # User profile management
βββ conversations/ # Conversation threads
βββ documents/ # Document management
βββ files/ # File storage and retrieval
βββ forums/ # Forum and discussion boards
βββ geography/ # Geographic data and services
βββ images/ # Image processing and storage
βββ mail/ # Email integration
βββ notifications/ # Notification system
βββ payments/ # Payment processing
βββ realtor/ # Real estate management
βββ user-sessions/ # Session management
βββ tasks/ # Task management
βββ todo/ # To-do list management
βββ wallet/ # Wallet and balance management
| Layer | Technologies |
|---|---|
| Language | Java 25+ (preview features), TypeScript 5, Kotlin |
| Build | Maven 4, Angular CLI |
| Runtime | Vert.x 5 (reactive event loop) |
| DI Framework | Google Guice 7 |
| Persistence | Hibernate Reactive 7, Hibernate ORM 7, Hibernate Validator |
| Reactive Streams | Mutiny 2.x, RxJava 3 |
| Database | PostgreSQL (reactive driver via Vert.x SQL Client), MSSQL, H2 |
| REST | JAX-RS (Jakarta REST) |
| WebServoce | JAX-WS (Jakarta REST) Apache CXF |
| WebSocket | Vert.x WebSockets, reactive message routing |
| Messaging | RabbitMQ (AMQP 0.9.1), Kafka |
| Frontend | Angular 21, TypeScript, Web Components, Shoelace/Web Awesome |
| Serialization | Jackson (JSON), JAXB (XML), Apache POI (Excel) |
| Configuration | MicroProfile Config, SmallRye Config |
| Observability | OpenTelemetry, Micrometer, Prometheus, Jaeger |
| Testing | JUnit 5, Testcontainers, Mockito, Cypress |
| Security | Jakarta Security, JWT, OAuth2/OIDC, MSAL4J |
| Module System | Java Platform Module System (JPMS) |
- Java 25+ (with preview features enabled)
- Maven 4.0.0+
- Node.js 20+ and npm 10+ (for Angular builds)
- Docker (for Testcontainers and local development)
- PostgreSQL 15+ (or use Testcontainers)
- Clone the repository with submodules:
git clone --recursive https://github.com/your-org/DevSuite.git
cd DevSuite- Copy environment configuration:
cp .env.example .env
# Edit .env with your database credentials and configuration- Build the entire suite:
mvn clean install- Or build specific profiles:
# GuicedEE framework only
mvn clean install -P guicedee
# JWebMP with plugins
mvn clean install -P jwebmp,jwebmp-plugins
# ActivityMaster platform
mvn clean install -P activitymasterSee individual component READMEs for specific quickstart guides:
- GuicedEE:
GuicedEE/README.md - JWebMP:
JWebMP/README.md - EntityAssist:
EntityAssist/README.md - ActivityMaster:
ActivityMaster/README.md
DevSuite uses Maven profiles to organize builds. Each profile compiles a specific subset of modules:
Core reactive framework modules including dependency injection, Vert.x runtime, persistence, web services, REST, WebSockets, configuration, metrics, health, telemetry, and observability.
Key Modules: bom, parent, client, inject, vertx, persistence, web, websockets, rest, config, metrics, health, telemetry, openapi, swagger-ui
Third-party library integrations and service wrappers including Apache Commons, Apache CXF, Apache POI, Google Guice extensions, Hibernate modules, Jakarta libraries, JCache implementations, and database drivers.
Categories: Apache, Database, Google, Hibernate, Jakarta, JCache, JNI, Libraries, Logging, MicroProfile, Mutiny, RabbitMQ, Security, Swagger, Testing
Java Web Markup Pages core modules for server-side Angular rendering, TypeScript client generation, and reactive frontend integration.
Key Modules: bom, parent, client, core, testlib, vertx, rabbitcomms
UI component libraries and integrations including Angular, AG Grid, AG Charts, FullCalendar, Font Awesome, Web Awesome, and custom TypeScript components.
Key Plugins: angular, tsclient, aggrid, aggrid-enterprise, agcharts, agcharts-enterprise, fullcalendar, fullcalendar-pro, fontawesome, fontawesome-pro, webawesome, webawesome-pro, chartjs, easing
Complete activity and content management platform with user profiles, conversations, documents, files, forums, geography, images, mail, notifications, payments, sessions, tasks, and wallet management.
Key Modules: bom, parent, client, core, cerial, profiles, conversations, documents, files, forums, geography, images, mail, notifications, payments, tasks, todo, wallet
Copy .env.example to .env for local development. Keep secrets out of version control.
| Variable | Purpose | Default |
|---|---|---|
DB_HOST |
Database hostname | localhost |
DB_PORT |
Database port | 5432 |
DB_NAME |
Database name | β |
DB_USER |
Database username | β |
DB_PASSWORD |
Database password | β |
ENVIRONMENT |
Runtime environment | dev |
PORT |
Application HTTP port | 8080 |
TRACING_ENABLED |
Enable distributed tracing | false |
ENABLE_DEBUG_LOGS |
Enable debug logging | false |
RABBITMQ_HOST |
RabbitMQ hostname | localhost |
RABBITMQ_PORT |
RabbitMQ port | 5672 |
RABBITMQ_USERNAME |
RabbitMQ username | guest |
RABBITMQ_PASSWORD |
RabbitMQ password | guest |
All components are fully JPMS-compliant. Example module-info.java:
module com.myapp {
requires com.guicedee.client;
requires com.guicedee.vertx;
requires com.guicedee.persistence;
requires com.guicedee.web;
requires com.entityassist;
opens com.myapp.entities to org.hibernate.orm.core, com.google.guice, com.entityassist;
opens com.myapp.services to com.google.guice;
provides com.guicedee.client.services.lifecycle.IGuiceModule
with com.myapp.AppModule;
}Reactive backend framework built on Vert.x 5 and Guice 7. Provides dependency injection, persistence, web services, REST APIs, WebSockets, configuration, metrics, health checks, and telemetry.
Documentation: GuicedEE/README.md
Server-side rendering framework for Angular applications with TypeScript client generation, reactive data binding, and extensive UI component library.
Documentation: JWebMP/README.md
CRTP-based reactive persistence toolkit providing fluent query builder DSL on top of Hibernate Reactive 7 and Mutiny. Supports reactive CRUD, aggregates, joins, pagination, and bulk operations.
Documentation: EntityAssist/README.md
Enterprise-grade activity and content management platform with modules for profiles, conversations, documents, files, forums, geography, images, mail, notifications, payments, sessions, tasks, todos, and wallet management.
Documentation: ActivityMaster/README.md
DevSuite uses Testcontainers for integration testing and JUnit 5 for unit testing.
# Run all tests
mvn clean verify
# Run tests for specific profile
mvn clean verify -P guicedee
# Skip integration tests
mvn clean verify -DskipITs
# Run specific test
mvn test -Dtest=MyTestIntegration tests automatically spin up PostgreSQL and RabbitMQ containers:
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class IntegrationTest {
private static final PostgreSQLContainer<?> postgres =
new PostgreSQLContainer<>("postgres:latest")
.withDatabaseName("testdb")
.withUsername("test")
.withPassword("test");
@BeforeAll
static void setup() {
postgres.start();
}
@AfterAll
static void teardown() {
postgres.stop();
}
}For details on the latest reactive messaging behavior (per-address consumer verticles and publisher-side throttling without message loss), see:
- GuicedEE Vert.x module documentation:
GuicedEE/vertx/README.md
- GuicedEE:
GuicedEE/README.md - JWebMP:
JWebMP/README.md - EntityAssist:
EntityAssist/README.md - ActivityMaster:
ActivityMaster/README.md
- Vert.x Processing:
GuicedEE/vertx/README.md - Persistence:
GuicedEE/persistence/README.md - WebSockets:
GuicedEE/websockets/README.md - RabbitMQ:
GuicedEE/rabbitmq/README.md - RabbitMQ Browser Comms:
JWebMP/rabbitcomms/README.md
DevSuite includes an enterprise AI skills repository in the AIRules/ directory. Skills are modular, self-contained knowledge packs that extend AI agents with specialized workflows, tool integrations, and domain expertise. See AIRules/README.md for the full skills catalog.
- Curated skills (
AIRules/skills/.curated/): General-purpose skills β architecture, security, TDD, Terraform, Figma, AG Grid, code review, and more. - System skills (
AIRules/skills/.system/): Project-specific skills for GuicedEE, JWebMP, EntityAssist, and ActivityMaster.
DevSuite includes helper scripts for common operations:
# Build ActivityMaster modules
.\am.ps1
# Build JWebMP modules
.\jw.ps1
# Build all modules
.\build.ps1
# Deploy artifacts
.\deploy.ps1DevSuite uses git submodules extensively. To update all submodules:
git submodule update --init --recursive --remoteDevSuite/
βββ .github/ # GitHub Actions workflows and CI/CD
βββ .idea/ # IntelliJ IDEA project configuration
βββ ActivityMaster/ # Activity management platform (git submodules)
βββ AIRules/ # Enterprise AI skills repository (git submodule)
βββ EntityAssist/ # Reactive persistence toolkit (git submodule)
βββ GuicedEE/ # Reactive backend framework (git submodules)
βββ JWebMP/ # Server-side Angular rendering (git submodules)
βββ logs/ # Application logs
βββ target/ # Maven build output
βββ .env.example # Environment variable template
βββ .gitignore # Git ignore patterns
βββ .gitmodules # Git submodule configuration
βββ pom.xml # Root Maven POM with profiles
βββ README.md # This file
βββ am.ps1 # ActivityMaster build script
βββ build.ps1 # Full build script
βββ deploy.ps1 # Deployment script
βββ jw.ps1 # JWebMP build script
βββ remove-rules-submodules.bat # Windows submodule cleanup
βββ remove-rules-submodules.sh # Unix submodule cleanup
Issues and pull requests are welcome.
- Follow existing code style and patterns
- Include tests for new features
- Update documentation for behavior changes
- Ensure JPMS module-info.java is correct
- Run
mvn clean verifybefore submitting PR
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests
- Run the full test suite (
mvn clean verify) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
DevSuite β A comprehensive full-stack development platform for reactive, modular, enterprise-grade Java applications.
Built with β€οΈ using Java 25+, Vert.x 5, Guice 7, Hibernate Reactive 7, Angular 21, and JPMS.