📄️ 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.
📄️ Versioning and Git Branching
---
📄️ 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.
📄️ Development Setup
To set up Tombolo locally, please visit the Installation and Configuration page and follow the instructions provided there.
📄️ Integrations
Our Integration Guides are currently under construction and will be available soon.
📄️ Backend Testing
Tombolo uses Jest for backend testing. We currently focus on unit tests. Supertest is available for API route tests.
📄️ Centralized Axios API Client (api.js)
The api.js file defines a centralized API client using Axios, serving as the foundation for all frontend HTTP requests. It standardizes configuration, retry metadata tracking, authentication, and global error normalization across the app