Serendipity is an open source customer relationship management (CRM) solution.
You can use it to transform your organisation by connecting your customers, products, people and operations.
- AuthN & AuthZ thanks to auth-local, auth-auth0 and auth-okta
- Beautiful Code thanks to Angular's Style Guide
- Contemporary UI thanks to Angular Material
- Dashboards and Dashboard Widgets thanks to Angular Gridster 2 and Highcharts
- Dynamic Forms (take a look at the Dynamic Forms documentation)
- Internationalisation thanks to @ngx-translate
Firebase Hosting: Serendipity
Note: The demo hasn't been updated in a while as I am currently working on a containerised deployment that includes Serendipity's REST API.
Documentation, demos, and guides
Use TypeScript, Node.js, Express and TypeORM to build a RESTful API for Serendipity:
Auf Deutsch:
Local Auth Login (auth-local library):
Auth0 Login (auth-auth0 library)
Okta Login (auth-okta library)
Navigation Bar:
Command Bar:
Side Nav:
Activities:
Contacts:
Contact Wizard:
Contact:
Dashboard:
Dashboard Widgets:
Dashboard - Fullscreen:
Serendipity is a progressive web application (PWA) with a RESTful API that can be hosted on premise or in the cloud.
You can customise and extend Serendipity using Angular, Angular libraries and Serendipity's plugin framework.
- Rob Ferguson's blog: Getting started with Angular Material
- Rob Ferguson's blog: Angular Material: toolbar and sidenav
- Rob Ferguson's blog: Getting started with Flowable
- Rob Ferguson's blog: How To: Build Flowable
- Rob Ferguson's blog: How To: Flowable and LDAP
- Rob Ferguson's blog: Flowable's REST API - Part 1
- Rob Ferguson's blog: Flowable's REST API - Part 2
- Rob Ferguson's blog: Flowable's REST API - Part 3
- Rob Ferguson's blog: Dashboards and Dashboard Widgets - Part 1
- Rob Ferguson's blog: Lazy Loading Angular Libraries
- Rob Ferguson's blog: Dynamically Importing Highcharts