Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Azzurro Technology Inc. Project Documentation

This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).

Overview

This repository contains 9 projects across 2 organizations:

AzzurroTech (Go-based) - Copyright Azzurro Technology Inc. (MIT License)

  • atp (central hub and integration platform)
  • stenella (data aggregation platform)
  • shepherd (firewall and paywall security)
  • song (magic link authentication)
  • pod (HTML form database)

Emperor42 (JavaScript-based) - Copyright Matthew Salvatore Giancola (MIT License)

  • veni (web component discovery)
  • vidi (data visualization)
  • vici (change management)
  • vini (workflow definition)

Quick Start

Running the Full System

  1. Start the ATP platform (port 8080)
  2. Start individual services in separate terminals
  3. Access the azzurro.tech website at http://localhost:8080

Projects Documentation

Each project has its own README.md with detailed documentation. Below is a summary:

AzzurroTech Projects (Go-based)

atp (AzzurroTech Platform)

  • Usage: Central integration hub at http://localhost:8080
  • Key Features: Service discovery, client management, billing automation

pod (HTML Form Database)

  • Usage: Web-based database with HTML forms interface at http://localhost:8082
  • Key Features: SQLite backend, no schema required, CRUD operations

song (Magic Link Authentication)

  • Usage: Passwordless authentication with magic links at http://localhost:8083
  • Key Features: No passwords stored, time-limited magic links, device tracking

shepherd (Security & Billing)

  • Usage: Firewall protection and automated billing at http://localhost:8084
  • Key Features: Advanced firewall rules, client management, payment processing

stenella (Data Aggregation)

  • Usage: Data aggregation from multiple sources at http://localhost:8081
  • Key Features: Multi-source data collection, normalization, real-time processing

Emperor42 Projects (JavaScript-based)

VENI (Web Components)

  • Usage: Automatic HTML web component discovery and registration
  • Key Features: Component discovery, no server required

VIDI (Data Visualization)

  • Usage: Card-based data visualization and management
  • Key Features: Automatic pagination, CORS-aware, local storage support

VICI (Change Management)

  • Usage: Web-based change management with version control
  • Key Features: CRUD operations, rollback support

VINI (Workflow Definition)

  • Usage: Programmatic workflow definition and execution
  • Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI

ATP Integration Pattern

All AzzurroTech projects follow the same ATP integration pattern:

  1. Service Registration: Each project registers with ATP via /api/services/register
  2. Health Checks: Projects provide health endpoints at /health
  3. Configuration Distribution: ATP manages project configurations
  4. API Gateway: All requests go through ATP for security and logging
  5. Service Discovery: ATP discovers and manages all project services

Example Configuration

# atp/config/integrations.yamlintegrations:
azzurrotech:
stenella:
health_check: /healthdata_source: /api/dataconfig_endpoint: /api/stenella/configpod:
health_check: /healthforms_endpoint: /api/formsdata_endpoint: /api/datasong:
health_check: /healthauth_endpoint: /api/authshepherd:
health_check: /healthbilling_endpoint: /api/billingemperor42:
VENI:
template_endpoint: /api/componentsVIDI:
data_endpoint: /api/dataVICI:
changes_endpoint: /api/changesVINI:
workflow_endpoint: /api/workflows

Development Setup

Prerequisites

  • Go Projects (AzzurroTech): Go 1.20+
  • JavaScript Projects (Emperor42): Modern web browser with JavaScript support

Local Development

# Start ATP platform (port 8080)cd azzurrotech/atp && ./atp
# Start individual servicescd azzurrotech/stenella && go run .cd azzurrotech/pod && go run ./cmd
cd azzurrotech/song && ./song --port 8083
cd azzurrotech/shepherd && go run .# Test integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'

Building and Testing

AzzurroTech Projects (Go)

# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd

Emperor42 Projects (JavaScript)

# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js

Integration Testing

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 10
# Test cross-service integration
curl http://localhost:8080/api/services
curl http://localhost:8081/api/data
curl http://localhost:8082/api/forms
curl http://localhost:8083/api/auth/generate -d '{"user_id":"test"}'# Open browser and test full integration# http://localhost:8080/

Security & Performance

Security Features

  • Encryption: AES-256 for sensitive data
  • Authentication: Magic link-based user authentication
  • Authorization: Role-based access control
  • Firewall: Custom firewall rules and access control
  • Audit Trails: Complete logging and monitoring
  • Input Validation: Prevents SQL injection and data corruption
  • Local Storage: Client-side data protection
  • CORS Management: Cross-origin request control
  • Content Security: Modern web security practices
  • No External Dependencies: Self-contained components
  • Password Hashing: SHA-256 password hashing

Performance Monitoring

# Service health endpoints
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8082/health
curl http://localhost:8083/health
curl http://localhost:8084/health

Metrics

  • HTTP request/response times
  • Service uptime and availability
  • Error rates and failure patterns
  • Resource utilization (CPU, memory, disk)
  • Database connection status
  • Authentication success/failure rates

Deployment & Support

Local Development

# Start all servicescd azzurrotech/atp && ./atp &cd azzurrotech/pod && go run ./cmd &cd azzurrotech/song && ./song --port 8083 &cd azzurrotech/shepherd && go run .&cd azzurrotech/stenella && go run .&# Wait for services to start
sleep 15
# Test the website# http://localhost:8080/

Production Features

  • Container Support: Docker deployment available
  • Load Balancing: Nginx or similar web server
  • SSL/TLS: HTTPS encryption
  • Monitoring: Health checks and metrics
  • Backup: Database and configuration backups
  • Scaling: Horizontal scaling support

Common Issues – Quick Guide

  1. Service startup: Check logs, ensure dependencies installed
  2. Port conflicts: Services use different ports (8080-8084)
  3. Database errors: Check SQLite configuration
  4. Network issues: Verify firewall and CORS settings
  5. Authentication: Check magic link configuration

Quick Debugging

# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health

Documentation Resources

  • API Reference: Detailed API docs in each project README
  • Tutorials: Getting started guides
  • Examples: Sample implementations
  • Best Practices: Development and deployment guidelines

Community Support

  • GitHub: Source code and issue tracking
  • Discussions: Feature requests and feedback
  • Support: Technical assistance and troubleshooting
  • Contributing: Project contributions and improvements

License

AzzurroTech Projects

© 2025 Azzurro Technology Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Emperor42 Projects

© 2025 Matthew Salvatore Giancola. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • Special thanks to all contributors
  • Built with Go (AzzurroTech projects) and JavaScript (Emperor42 projects)
  • Powered by ATP platform for seamless integration
  • Inspired by modern web development practices

Document Version: 1.0Created: 2026-08-25Last Updated: 2026-08-25Status: Complete Project Documentation

About

Azzurro Technology Inc. Readme & Experiment (AI+NI) Repo

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages