Complete technical documentation for all platform applications and services.
Architecture Overview
The EverydayTech Platform is a microservices-based system consisting of multiple applications:
Core Applications
RMM-PSA Backend (rmm-psa-backend)
Technology: Node.js, Express, PostgreSQL
Purpose: Core API server for RMM and PSA functionality
Key Modules:
Documentation Sections:
- API Reference
- Database Schema
- Authentication
- Webhooks
RMM-PSA Dashboard (rmm-psa-dashboard)
Technology: React, Next.js, Tailwind CSS
Purpose: Web-based user interface
Key Modules:
- Pages - Application pages/routes
- Components - Reusable UI components
- Lib - Utilities and helpers
- Contexts - React context providers
Documentation Sections:
- Component Library
- State Management
- Routing
MeshCentral Integration (rmm-psa-meshcentral)
Technology: Node.js, MeshCentral (custom fork)
Purpose: Remote desktop and device management
Key Features:
- WebSocket API integration
- Device enrollment and management
- Remote desktop access
- Agent deployment
Documentation Sections:
- API Integration
- WebSocket Protocol
- Device Management
Monitoring Agents (rmm-psa-agent, rmm-psa-agent-v2)
Technology: Python, Node.js
Purpose: Client-side monitoring and management agents
Key Features:
- System metrics collection
- Real-time monitoring
- Remote command execution
- Auto-updates
Documentation Sections:
- Agent Architecture
- Metrics Collection
- Communication Protocol
Point of Sale (everydaypos)
Technology: React, Next.js, PostgreSQL
Purpose: Cloud-based POS system
Key Modules:
Documentation Sections:
- POS API
- Sales Flow
- Inventory Management
Customer Relationship Management (CRM)
Technology: TypeScript, React, Next.js, PostgreSQL
Purpose: Custom CRM system for managing customer relationships
Key Modules:
Documentation Sections:
- CRM API
- Customer Data Model
- Integration Points
Central Billing Management (neto-xero)
Technology: JavaScript, Node.js, Express
Purpose: Invoice matching and reconciliation between Neto and Xero
Key Features:
- Automated invoice matching
- Billing discrepancy detection
- Multi-platform reconciliation
- Reporting and analytics
Documentation Sections:
- Billing API
- Matching Algorithm
- Integration Guide
Sales Portal (ssp-portal)
Technology: JavaScript, React
Purpose: Sales, Scan, and Price Protection Portal for IBG Members
Key Features:
- Member portal access
- Price protection tracking
- Sales scanning and processing
- Member-specific pricing
Documentation Sections:
- Portal API
- Member Management
- Price Protection
Infrastructure & DevOps
Database Schemas (rmm-psa-database)
Technology: PostgreSQL, PLpgSQL
Purpose: Centralized database schemas and migration scripts
Key Components:
- Schema definitions
- Migration scripts
- Stored procedures
- Database functions
Documentation Sections:
- Schema Reference
- Migration Guide
DevOps Tools (rmm-psa-devops)
Technology: Shell scripts, Docker, CI/CD
Purpose: Deployment automation and infrastructure management
Key Tools:
- Deployment scripts
- Docker configurations
- CI/CD pipelines
- Monitoring setup
Documentation Sections:
- Deployment Guide
- Docker Setup
WordPress Template (wordpress-template)
Technology: PHP, WordPress
Purpose: Standardized WordPress template for IBG member sites
Features:
- Custom theme framework
- Plugin configurations
- Member-specific customizations
Documentation Sections:
- Template Setup
- Customization Guide
Development Guidelines
Code Organization
Each application follows a consistent structure:
app-name/
├── src/ # Source code
│ ├── pages/ # Pages/routes (if web app)
│ ├── components/ # UI components (if web app)
│ ├── lib/ # Libraries and utilities
│ ├── api/ # API clients
│ └── ...
├── tests/ # Test files
├── docs/ # App-specific documentation
├── package.json # Dependencies
└── README.md # App readme
Adding New Applications
To add documentation for a new application:
Update Doxygen Configuration
Edit /mnt/Steam/IBG_HUB/rmm-psa-documentation/config/developer.doxyfile:
INPUT = developer/source \
../existing-apps \
../your-new-app/src
Create App Documentation
Create /mnt/Steam/IBG_HUB/rmm-psa-documentation/developer/source/apps/your-app.md:
# Your App Name
## Overview
Brief description
## Architecture
Technical details
## API Reference
Links to generated API docs
- Rebuild Documentation
cd /mnt/Steam/IBG_HUB/rmm-psa-documentation
./scripts/build-developer.sh
Commit and Push
git add config/developer.doxyfile developer/source/ developer/build/
git commit -m "docs: Add documentation for your-app"
git push origin main
DigitalOcean will auto-deploy in 1-2 minutes.
Documentation Standards
JSDoc Comments
Use JSDoc for all functions, classes, and modules:
/**
* Fetch user by ID
* @param {string} userId - The user's unique identifier
* @returns {Promise<User>} User object
* @throws {Error} If user not found
*/
async function getUserById(userId) {
// implementation
}
File Headers
Every file should have a header comment:
/**
* @file agent-routes.js
* @description API routes for agent management
* @module routes/agent
*/
Component Documentation
React components should document props:
/**
* Customer card component
* @component
* @param {Object} props
* @param {Customer} props.customer - Customer data object
* @param {Function} props.onEdit - Edit callback
*/
export default function CustomerCard({ customer, onEdit }) {
// implementation
}
API Reference
- Backend API Routes
- WebSocket API
- Database Schema
- Integration APIs
Build & Deployment
- CI/CD Pipeline
- Environment Configuration
- DigitalOcean Apps
Testing
- Unit Tests
- Integration Tests
- E2E Tests
Need Help? Contact the development team or check the Contributing Guide.
Last Updated: March 2026