This document provides comprehensive information about all Azzurro Technology Inc. projects, including installation, usage, and integration with the ATP (AzzurroTech Platform).
This repository contains 9 projects across 2 organizations:
- atp (central hub and integration platform)
- stenella (data aggregation platform)
- shepherd (firewall and paywall security)
- song (magic link authentication)
- pod (HTML form database)
- veni (web component discovery)
- vidi (data visualization)
- vici (change management)
- vini (workflow definition)
- Start the ATP platform (port 8080)
- Start individual services in separate terminals
- Access the azzurro.tech website at http://localhost:8080
Each project has its own README.md with detailed documentation. Below is a summary:
- Usage: Central integration hub at http://localhost:8080
- Key Features: Service discovery, client management, billing automation
- Usage: Web-based database with HTML forms interface at http://localhost:8082
- Key Features: SQLite backend, no schema required, CRUD operations
- Usage: Passwordless authentication with magic links at http://localhost:8083
- Key Features: No passwords stored, time-limited magic links, device tracking
- Usage: Firewall protection and automated billing at http://localhost:8084
- Key Features: Advanced firewall rules, client management, payment processing
- Usage: Data aggregation from multiple sources at http://localhost:8081
- Key Features: Multi-source data collection, normalization, real-time processing
- Usage: Automatic HTML web component discovery and registration
- Key Features: Component discovery, no server required
- Usage: Card-based data visualization and management
- Key Features: Automatic pagination, CORS-aware, local storage support
- Usage: Web-based change management with version control
- Key Features: CRUD operations, rollback support
- Usage: Programmatic workflow definition and execution
- Key Features: Local execution, server validation, integrates with VICI/VIDI/VENI
All AzzurroTech projects follow the same ATP integration pattern:
- Service Registration: Each project registers with ATP via
/api/services/register - Health Checks: Projects provide health endpoints at
/health - Configuration Distribution: ATP manages project configurations
- API Gateway: All requests go through ATP for security and logging
- Service Discovery: ATP discovers and manages all project services
# 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- Go Projects (AzzurroTech): Go 1.20+
- JavaScript Projects (Emperor42): Modern web browser with JavaScript support
# 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"}'# Build individual projectcd azzurrotech/atp
go build ./...
# Run testscd azzurrotech/atp
go test ./...
# Build and runcd azzurrotech/pod
go run ./cmd# Test in browsercd emperor42/vini
# Open browser and load vini.js directly# Or with Node.js (optional)
node emperor42/vini/vini.js# 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/- 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
# 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- 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
# 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/- 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
- Service startup: Check logs, ensure dependencies installed
- Port conflicts: Services use different ports (8080-8084)
- Database errors: Check SQLite configuration
- Network issues: Verify firewall and CORS settings
- Authentication: Check magic link configuration
# Service logs
$ tail -f atp.log
# System resources
$ top
$ free -h
# Service health checks
curl http://localhost:8080/health
curl http://localhost:8081/health- API Reference: Detailed API docs in each project README
- Tutorials: Getting started guides
- Examples: Sample implementations
- Best Practices: Development and deployment guidelines
- GitHub: Source code and issue tracking
- Discussions: Feature requests and feedback
- Support: Technical assistance and troubleshooting
- Contributing: Project contributions and improvements
© 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.
© 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.
- 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