Overview

This page provides an overview of Circular Wave's archiecture / tech stack / code.

Technical Architecture

Image

Git Repositories

All git respoitories are hosted on Github under the circularwave organisation. There are more repositories than are listed here (some of which may be of historical interest) but these are all of the ones still in active use.

Miscellaneous

  • devenv - Developer environment
    Scripts for managing other repositories + the source code for the Documenation Hub.

  • marketplace-ms-admin - Control plane
    Database migrations; CLI tasks; "static-data" (customer configuration stored as JSON data comitted to git); firebase-to-postgres syncing code; one-off scripts

Client Apps

  • marketplace - Mobile App
    The react-native mobile app for Staff.

  • marketplace-website - Admin Portal
    The react (web) admin portal for Admins and Suppliers. This repo also contains the "website server" which is used to proxy requests from the website to the microservices (+ implements a few minor endpoint of it's own).

Backend

Microservices

  • marketplace-ms-accounts - Accounts Service
    Management of org/collab metadata; Authentication and user profile management; Ssupplier management; Gamification; Notifications (push and in-app)

  • marketplace-ms-compliance - Compliance Service Compliance Items (submission/approval/rejection); Integrations with 3rd parties such as the GMC and NMC to check for fitness to practice issues.

  • marketplace-ms-jobs - Jobs Service
    Shifts (publish, edit, delete, view, search); Bookings & Applications (apply, decline, book, unbook); Shift templates (create, edit, view)

  • marketplace-ms-timesheets - Timesheets Service
    Timesheets (creation, submission, approval/rejection); Timesheet messaging; Payment runs (Creation, scheduling, generating reports, etc); Payment engine (calculates how much a staff member should be paid for each shift)

  • marketplace-ms-messaging - Messaging Service
    1-to-1 and small group messaging functionality; Broadcast messaging functionality

  • marketplace-ms-reporting - Reporting Service
    Generates data to back dashboard reports; Generates exported reports

Other backend

  • marketplace-ms-sdk - Shared library backing the microservices
    Functions as the entry point for microservices, and also contains a bunch of helper modules wrapping things such as: postgres, firebase databases, email sending, queue tasks, etc. Published to NPM as a private module

  • hasura-graphql-engine-heroku - Hasura Docker Image
    A very tiny repository which just contains a Dockerfile pointing at the Hasura graphql-engine docker image with a specified version number. Allows us to run Hasura on Heroku.

Marketing