SocketCluster is a framework which allows you to use the WebSocket protocol to transmit between its backend API and client library. The client can be used both on a backend (E.g. a Raspberry pi) or frontend application.
Unlike REST where there is a learning curve to fully understand the HTTP Protocol or GraphQL where it's needed to learn the fundamentals of schemas, SocketCluster lets you use its framework without actually knowing how sockets work. Nor does it really need to. The framework perfectly handles sockets in a way you just need to transfer data. You can any type of data e.g. objects, strings, buffers, ... It in some way resembles SocketIO. You could say its SocketIO on steroids. It comes with bulkier tools and scalability out of the box. It has prewritten Kubernetes files.
This is pretty technical and can be skipped.
Another example is Redux dev tools. They use SocketCluster to remote monitoring.
Here you can find an article of their reasons why. The difficulties they had over SocketIO and why SocketCluster was a better fit.
We will build a full-fledged application which has much resemblance to the current problems in the world, the pandemic. We will build a contact tracing app which in theory should really scale. The technologies we will be using:
- Vue 3 with the Composition API as the frontend
- PostgreSQL as the database
- Knex.js as the query builder
Additionally I'll provide a deeper insight into Vue 3's Composition API as its fairly new technology.