Skip to content

Repository files navigation

Serendipity

Serendipity

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.

Built using Angular v22, Angular Material (M3) v22.1.1, Spring Boot v4.0.1, Spring Cloud 2025.1.0 and Java 25.

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)



Context Diagram

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.

Get Started

Follow the steps in the Get Started guide.

Documentation

Screen Shots

Home (Welcome) Page

Home Page

Navigation

Navigation Bar

Navigation Bar

Command Bar

Command Bar

Sidenav

Sidenav

Customer Engagement

Accounts

Accounts

Contacts

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.

About

Serendipity is an open source toolkit for building performant, high-quality applications.

Topics

Resources

Contributing

Stars

389 stars

Watchers

27 watching

Forks

Releases

Packages

Used by

Contributors

Languages