Welcome
Serendipity is an open source toolkit for building performant, high-quality Customer Engagement applications. Applications that can transform your organisation by connecting your customers, products, people and operations.
Architecture
Serendipity is composed of the following components:
- Progressive Web App — an Angular 22 + Angular Material (M3) single-page application
- Backend for Frontend (BFF) — a Spring Boot 4.0.1 service that serves the PWA and proxies API requests
- Core Services
- Identity Service — Keycloak, providing OpenID Connect authentication and OAuth 2.0 authorization
- Party Service — a Spring Boot microservice managing leads, opportunities, accounts, and contacts
- Orchestration Services
- Human Tasks Service — Camunda 8.9 for BPMN 2.0 workflow orchestration
- Reporting Services
- Report Service — separate reporting infrastructure (see js-docker)

Security
- OpenID Connect is used for authentication and OAuth 2.0 for authorisation.
- TLS is used to encrypt data in transit and AES to encrypt data at rest.
Getting Started
Follow the steps in the Get Started guide.
Documentation
- Developer Guide — build management, architecture, and tools
- Administration Guide — Docker, Keycloak, PostgreSQL, pgAdmin
- User Guide — navigate the PWA and understand the data
- Concepts — authentication architecture and CQRS
- Try, Install or Upgrade — deployment scenarios
- References — case management framework
Screen Shots
Home (Welcome) Page

Navigation
Navigation Bar

Command Bar

Sidenav

Customer Engagement
Accounts

Contacts

Web-based Tooling
Serendipity uses form-js to render forms and bpmn-js to display BPMN 2.0 diagrams.
License
GNU Affero General Public License v3.0 — see LICENSE for details.