AeThex-OS/DOMAIN_ROUTING.md
MrPiglr a15b5b1015 feat: integrate AeThex Language across entire OS ecosystem
Major Features:
- Custom .aethex programming language with cross-platform compilation
- Compiles to JavaScript, Lua (Roblox), Verse (UEFN), and C# (Unity)
- Built-in COPPA compliance and PII detection for safe metaverse development

Integration Points:
1. Terminal Integration
   - Added 'aethex' command for in-terminal compilation
   - Support for all compilation targets with --target flag
   - Real-time error reporting and syntax highlighting

2. IDE Integration
   - Native .aethex file support in Monaco editor
   - One-click compilation with target selector
   - Download compiled code functionality
   - Two example files: hello.aethex and auth.aethex

3. Curriculum Integration
   - New "AeThex Language" section in Foundry tech tree
   - Three modules: Realities & Journeys, Cross-Platform Sync, COPPA Compliance
   - Certification path for students

4. Documentation Site
   - Complete docs at /docs route (client/src/pages/aethex-docs.tsx)
   - Searchable documentation with sidebar navigation
   - Language guide, standard library reference, and examples
   - Ready for deployment to aethex.dev

5. npm Package Publishing
   - @aethex.os/core@1.0.0 - Standard library (published)
   - @aethex.os/cli@1.0.1 - Command line compiler (published)
   - Both packages live on npm and globally installable

Domain Configuration:
- DNS setup for 29+ domains (aethex.app, aethex.co, etc.)
- nginx reverse proxy configuration
- CORS configuration for cross-domain requests
- OAuth redirect fixes for hash-based routing

Standard Library Features:
- Passport: Universal identity across platforms
- DataSync: Cross-platform data synchronization
- SafeInput: PII detection (phone, email, SSN, credit cards)
- Compliance: COPPA/FERPA age gates and audit logging

Documentation Package:
- Created aethex-dev-docs.zip with complete documentation
- Ready for static site deployment
- Includes examples, API reference, and quickstart guide

Technical Improvements:
- Fixed OAuth blank page issue (hash routing)
- Added .gitignore rules for temp files
- Cleaned up build artifacts and temporary files
- Updated all package references to @aethex.os namespace

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-11 22:28:05 -07:00

11 KiB

Domain Routing Strategy for AeThex OS

This document outlines how different AeThex domains route to specific services and features.

Domain Service Mapping

Primary Application (aethex.app)

Service: Web Client (React SPA) Features: Full OS interface, dashboard, all features Target: /dist/public Priority: Primary entry point

Corporate & Marketing (aethex.co)

Service: Web Client Features: Same as aethex.app Target: /dist/public Routing: Can serve different content or redirect to aethex.app

API Gateway (aethex.network)

Service: API Server Features: REST API, WebSocket Target: Express server (port 5000) Priority: Primary API endpoint Used by: Mobile apps, desktop apps, third-party integrations

Alternative API (aethex.net)

Service: API Server Features: Same as aethex.network Target: Express server (port 5000) Routing: CNAME to aethex.network

API Subdomain (api.aethex.cloud)

Service: API Server Features: Same as aethex.network Target: Express server (port 5000) Usage: Alternative API endpoint

Authentication Hub (aethex.tech)

Service: Auth Server Features: OAuth callbacks, password management, SSO Target: Express server (port 5000) Priority: Primary auth domain Routes:

  • /auth/discord/callback
  • /auth/github/callback
  • /auth/roblox/callback
  • /auth/twitch/callback
  • /auth/minecraft/callback
  • /upgrade/success (Stripe)
  • /upgrade/cancel (Stripe)

Identity Services (aethex.id)

Service: Auth Server Features: Same as aethex.tech Target: Express server (port 5000) Routing: CNAME to aethex.tech or serve identity-focused UI

Cloud Services (aethex.cloud)

Service: Services Server Features: Kernel, Sentinel, Bridge protocols Target: Express server (port 5000) Priority: Primary services endpoint Routes:

  • /api/os/link/* - Subject linking
  • /api/os/entitlements/* - Entitlements
  • /api/os/subjects/* - Subject management

Kernel (kernel.aethex.cloud)

Service: Railway Deployment Features: OS Kernel API Target: Railway (external) Priority: Kernel-specific deployment DNS: CNAME to Railway

CDN (cdn.aethex.cloud)

Service: CDN / Static Assets Features: Cached static files, images, JS, CSS Target: CDN provider or Nginx cache Usage: Static asset delivery

Education Platform (aethex.education)

Service: Web Client Features: Courses, learning modules Target: /dist/public Routing: Can serve education-specific SPA build

Training Platform (aethex.studio)

Service: Web Client Features: Foundry bootcamp ($500 training) Target: /dist/public Priority: Specialized training portal

E-commerce (aethex.shop)

Service: Web Client + Stripe Integration Features: Marketplace, payments, orders Target: /dist/public Integrations: Stripe checkout Routes:

  • /upgrade/success
  • /upgrade/cancel
  • /products/*
  • /checkout/*

Support Portal (aethex.support)

Service: Web Client Features: Help desk, tickets, knowledge base Target: /dist/public Integrations: Support ticket system

Developer Portal (aethex.dev)

Service: Web Client Features: API documentation, SDK downloads, developer guides Target: /dist/public Content: Developer-focused content

Documentation (aethex.info)

Service: Web Client Features: General documentation, guides, FAQs Target: /dist/public Content: Documentation site

Blog (aethex.blog)

Service: Web Client Features: Blog posts, news, announcements Target: /dist/public Content: Blog/CMS integration

Storage Vault (aethex.locker)

Service: Storage Server Features: File upload/download, vault, secure storage Target: Express server (port 5000) + storage backend Config: client_max_body_size 500M Routes:

  • /api/storage/upload
  • /api/storage/download/*
  • /api/vault/*

Bot Services (aethex.bot)

Service: API Server Features: Discord bots, AI agents, chatbots Target: Express server (port 5000) Routes:

  • /api/bot/webhook
  • /api/bot/commands
  • /api/ai/*

Live Streaming (aethex.live)

Service: Web Client + WebSocket Features: Live streams, real-time events, broadcasts Target: /dist/public Integrations: WebSocket, Twitch API Routes:

  • /stream/*
  • /live/*

Gaming Portal (aethex.fun)

Service: Web Client Features: Games, entertainment, Roblox integration Target: /dist/public Integrations: Roblox, Minecraft APIs

Metaverse (aethex.space)

Service: Web Client + 3D Engine Features: Virtual worlds, 3D spaces, avatars Target: /dist/public Tech: WebGL, Three.js

User Profiles (aethex.bio)

Service: Web Client Features: Public profiles, architect bios Target: /dist/public Routes:

  • /:username - User profile pages
  • /architect/:id - Architect profiles

Personal Spaces (aethex.me)

Service: Web Client Features: Personal dashboards, private spaces Target: /dist/public Routes:

  • /:username - Personal pages

Business Solutions (aethex.biz)

Service: Web Client Features: Enterprise features, B2B portal Target: /dist/public Content: Business-focused features

Professional Tier (aethex.pro)

Service: Web Client Features: Premium features, pro tier Target: /dist/public Content: Professional/premium features

Foundation (aethex.foundation)

Service: Web Client Features: Community, grants, foundation info Target: /dist/public Content: Foundation-specific content

Regional - US (aethex.us)

Service: Web Client Features: US-specific content, regional services Target: /dist/public Routing: Can route to US-specific servers

Collaboration (aethex.sbs)

Service: Web Client Features: Collaboration tools, shared workspaces Target: /dist/public Features: Real-time collaboration

Online Presence (aethex.online)

Service: Web Client Features: Same as aethex.app Target: /dist/public Routing: CNAME to aethex.app

Site Builder (aethex.site)

Service: Web Client Features: Same as aethex.app Target: /dist/public Routing: CNAME to aethex.app


Routing Strategies

Strategy 1: Single Server, Domain-Based Routing

All domains point to the same server, with nginx handling routing based on domain:

# Primary app domains - serve SPA
server_name aethex.app aethex.co aethex.online;
root /var/www/aethex/dist/public;

# API domains - proxy to backend
server_name aethex.network aethex.net;
proxy_pass http://localhost:5000;

# Auth domains - proxy with rate limiting
server_name aethex.tech aethex.id;
limit_req zone=auth_limit;
proxy_pass http://localhost:5000;

Pros:

  • Simple infrastructure
  • One server to manage
  • Easy to maintain

Cons:

  • Single point of failure
  • All traffic on one server
  • Harder to scale individual services

Strategy 2: Multi-Server, Service-Based

Different domains point to different servers:

aethex.app, aethex.co → Web Server (SPA)
aethex.network, aethex.net → API Server
aethex.tech, aethex.id → Auth Server
aethex.cloud → Services Server
aethex.locker → Storage Server

Pros:

  • Better isolation
  • Can scale services independently
  • Security boundaries between services

Cons:

  • More complex infrastructure
  • More servers to manage
  • Higher costs

Core services on dedicated servers, specialized domains as CNAMEs:

# Primary servers
aethex.app → Web Server
aethex.network → API Server
aethex.tech → Auth Server
aethex.cloud → Services Server

# CNAMEs to primary
aethex.co → CNAME to aethex.app
aethex.net → CNAME to aethex.network
aethex.id → CNAME to aethex.tech
aethex.education → CNAME to aethex.app
aethex.studio → CNAME to aethex.app
# ... etc

Pros:

  • Balance of simplicity and separation
  • Easy to migrate to dedicated servers later
  • Cost-effective

Cons:

  • Some domains share resources
  • Still need nginx routing logic

Domain-to-Feature Mapping

Content Detection

The application can detect which domain it's running on and show appropriate content:

// client/src/lib/domain-routing.ts
export function getCurrentDomain(): string {
  return window.location.hostname;
}

export function getDomainFeatures(domain: string): string[] {
  const featureMap = {
    'aethex.app': ['web', 'os', 'auth', 'all'],
    'aethex.education': ['web', 'learning', 'courses'],
    'aethex.studio': ['web', 'training', 'bootcamp'],
    'aethex.shop': ['web', 'commerce', 'stripe'],
    'aethex.dev': ['web', 'docs', 'api'],
    'aethex.fun': ['web', 'gaming', 'roblox'],
    'aethex.live': ['web', 'streaming', 'twitch'],
    // ... etc
  };

  return featureMap[domain] || ['web'];
}

export function shouldShowFeature(feature: string): boolean {
  const domain = getCurrentDomain();
  const features = getDomainFeatures(domain);
  return features.includes(feature) || features.includes('all');
}

Usage in components:

import { shouldShowFeature } from '@/lib/domain-routing';

export function Dashboard() {
  return (
    <div>
      {shouldShowFeature('courses') && <CoursesSection />}
      {shouldShowFeature('commerce') && <ShopSection />}
      {shouldShowFeature('gaming') && <GamesSection />}
    </div>
  );
}

URL Structure Guidelines

aethex.app (Main Application)

https://aethex.app/
https://aethex.app/dashboard
https://aethex.app/profile
https://aethex.app/settings

aethex.education (Education)

https://aethex.education/
https://aethex.education/courses
https://aethex.education/course/:id
https://aethex.education/progress

aethex.studio (Training)

https://aethex.studio/
https://aethex.studio/foundry
https://aethex.studio/bootcamp
https://aethex.studio/enroll

aethex.shop (E-commerce)

https://aethex.shop/
https://aethex.shop/products
https://aethex.shop/product/:id
https://aethex.shop/checkout
https://aethex.shop/upgrade/success

aethex.dev (Developer)

https://aethex.dev/
https://aethex.dev/docs
https://aethex.dev/api-reference
https://aethex.dev/sdk

aethex.bio (Profiles)

https://aethex.bio/:username
https://aethex.bio/architect/:id

Next Steps

  1. Choose routing strategy (recommend Hybrid)
  2. Implement domain-routing.ts for feature detection
  3. Update components to use shouldShowFeature()
  4. Configure nginx based on chosen strategy
  5. Test domain-specific features
  6. Deploy and monitor

For deployment instructions, see /DOMAIN_SETUP_GUIDE.md.