mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-17 22:27:19 +00:00
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>
427 lines
11 KiB
Markdown
427 lines
11 KiB
Markdown
# 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:
|
|
|
|
```nginx
|
|
# 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
|
|
|
|
---
|
|
|
|
### Strategy 3: Hybrid (Recommended)
|
|
|
|
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:
|
|
|
|
```typescript
|
|
// 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:
|
|
|
|
```tsx
|
|
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`.
|