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

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 functionalitymarketplace-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 modulehasura-graphql-engine-heroku - Hasura Docker Image
A very tiny repository which just contains aDockerfilepointing at the Hasura graphql-engine docker image with a specified version number. Allows us to run Hasura on Heroku.
Marketing
- public-website - Marketing Website (https://circularwave.co.uk)
The react (web) admin portal for Admins and Suppliers.