📄️ System Architecture
Tombolo’s architecture integrates a React frontend, Node.js backend, MySQL and and external services like HPCC, with notification support via a mail server. The diagram below illustrates the system’s components and their interactions.
📄️ Project Structure
The Tombolo project is structured for clarity, with Tombolo/tombolo_docs hosting the Docusaurus-powered documentation site, while Tombolo/Tombolo contains the codebase split into client-reactjs and server directories. This decoupled client-server architecture allows the React frontend to be served independently by its own web server, Nginx, rather than the Node.js backend, enabling separate development, deployment, and scaling of the client and server. Below is an overview of the key directories and their roles.
📄️ Development Setup
To set up Tombolo locally, please visit the Installation and Configuration page and follow the instructions provided there.
📄️ Authentication & Authorization
This document provides a super detailed explanation of how authentication and authorization are implemented in Tombolo, including all technologies used, middleware flow, and step-by-step Azure AD setup for local and production environments.
📄️ Integrations
Our Integration Guides are currently under construction and will be available soon.
📄️ Backend Testing
Tombolo uses Jest and Supertest for its testing framework. Jest provides a flexible environment for writing and running tests, while Supertest allows us to easily test our API endpoints. By combining these tools, we ensure our tests are both reliable and effective.