EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
EverydayTech Platform - Developer Reference

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:

  1. Update Doxygen Configuration

    Edit /mnt/Steam/IBG_HUB/rmm-psa-documentation/config/developer.doxyfile:

    INPUT = developer/source \
    ../existing-apps \
    ../your-new-app/src
  2. 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
  3. Rebuild Documentation
    cd /mnt/Steam/IBG_HUB/rmm-psa-documentation
    ./scripts/build-developer.sh
  4. 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