Introduction

Provides content (data) for all wit products, significantly so for the wit-dash application.

Technologies

A nodejs application running the nest.js framework for building standalone and/or horizontally scalable application with a GraphQL core service, with resolvers provides by a set of local and/or remote microservices. The data store is provided by the excellent MongoDB.

JWT tokens provided in `Authorization` header are used for both authentication and authorisation, ensuring protection of data at all times. In the 'WOZiTech' hosted environments, this provided through the 3rd party `Auth0` service. For development and local test environments, a local token service is provided.

Data caching is provided within the GraphQL service to ensure fast and efficient access to relatively static content.

Creation, Update and Deletion of content is facilitated through GraphQL mutations, using an Event Sourcing approach with microservices. GraphQL Subscriptions are provided allowing content to be fast tracked to end devices as content is created/updated, facilitated once again through the Event Sourcing approach.

Showcasing this project is:

  • MongoDB - document (JSON) storage for all licenses and accounts.
  • nest.js - node.js framework for building efficient, reliable and scalable server-side applications.
Dependencies:
  • node.js - minimum of V8.x.x, which includes npm
  • git and a github account
  • vscode - my goto Javascript, but in this case, typescript editor with plugins for GraphQL