GoGrab Space - Complete Platform Guide
The definitive guide to understanding GoGrab Space's architecture, features, and technology stack
🚀 GoGrab Space - Complete Platform Guide
The Ferrari/Lamborghini of visual platform builders and vibe coding tools
📖 Table of Contents
- What is GoGrab Space?
- Vision & Goals
- Technology Stack
- Architecture Overview
- Core Systems
- Key Features
- Development Workflow
- Current Status
- Quick Links
🎯 What is GoGrab Space?
GoGrab Space is an innovative, powerful, and modern platform for building, organizing, and managing complete digital platforms (called "universes") through modular architecture, reusable blocks, and AI-powered vibe coding.
Core Concept
- Universes: Complete, self-contained platforms you create
- Modules: Reusable, self-registering features that power universes
- Widgets: UI components that can be customized and deployed
- Vibe Coding: Build through natural language + visual interfaces + AI
What Makes It Special
✨ Modular Everything - Every feature is a self-contained, reusable module
🤖 AI-First - Intelligent code generation from module manifests
⚡ Offline-First - Blazing fast local operations (0.3ms) with optional cloud sync
🎨 Visual Building - Drag-drop canvas with AI-powered suggestions
🔄 Real-Time Collaboration - Flash persistence across users and devices
🎯 Vision & Goals
Platform Goals
- Most powerful platform builder on the planet
- Most intelligent visual development environment
- Ultimate vibe coding experience (Ferrari/Lambo level)
- AI-first development platform
Technical Goals
- ✅ Modular Everything: Every feature is a reusable module
- ✅ AI-Trainable: Modules generate modules
- ✅ Visual Building: Drag-drop + AI suggestions
- ✅ Real-time Collaboration: Flash persistence across users
- ✅ Type-Safe: Full TypeScript coverage
- ✅ Performance: Sub-second builds, instant updates
💻 Technology Stack
Frontend
Framework & Core
- Angular 20+ - Standalone API (no NgModules)
- TypeScript 5.4+ - Full type safety
- RxJS - Reactive programming
- Angular Signals - Reactive state management
- Nx 20+ - Monorepo tooling
UI & Styling
- Custom Theme System - CSS variables + SCSS
- Cosmic Backgrounds - Visual effects library
- CDK - Angular Component Dev Kit (drag-drop, overlays)
- Responsive Design - Mobile-first approach
Storage & Sync
- GgStorage (
@storage-system) - Intelligent storage (OPFS + IndexedDB + localStorage) - Flash Persistence - Auto-persistent signals (0.3ms access)
- MongoDB Sync - Optional cloud sync with Change Streams
- Offline-First - Full functionality without network
State Management
- Angular Signals - Primary state primitive
- autoFlashState - Auto-persistent reactive state
- Service-based - Singleton services for shared state
- Event Bus - Cross-module communication
Backend
Framework & Core
- NestJS 10+ - Progressive Node.js framework
- TypeScript - Type-safe backend
- Express - HTTP server (under NestJS)
- MongoDB 8.0.3 - Document database
- Mongoose - MongoDB ODM
Features
- JWT Authentication - Secure user auth
- AI Proxy - OpenAI, Anthropic, Google
- REST API - Standard HTTP endpoints
- CORS - Cross-origin configuration
- Rate Limiting - 100 req/min
- Environment Config - Multiple deployment modes
Database Architecture
- Database-per-Space - Each space gets its own MongoDB database
- Collection-per-Universe - Universes have dedicated collections
- Flexible Schemas - No rigid models, store any structure
- Change Streams - Real-time updates across clients
Development Tools
Build & Deploy
- Nx 20+ - Build system and monorepo management
- esbuild - Fast JavaScript bundler
- TypeScript - Compilation and type checking
- ESLint - Code linting
- Prettier - Code formatting
Testing
- Vitest - Unit testing framework
- Angular Testing - Component testing
- E2E - End-to-end testing (planned)
DevOps
- Railway - Production deployment (backend)
- Vercel/Netlify - Frontend hosting (planned)
- GitHub - Source control
- MongoDB Atlas - Cloud database
🏗️ Architecture Overview
Monorepo Structure
editor/ # Root monorepo
├── apps/
│ ├── gograb-space/ # Main platform (port 5200)
│ ├── gograb-admin/ # Admin dashboard (port 4300)
│ ├── space-admin/ # Space management (port 5300)
│ ├── docs-angular/ # Documentation system (port 5010)
│ └── backend-api/ # NestJS backend (port 3000)
│
├── libs/
│ ├── core/ # Core TypeScript libraries
│ ├── libs-foundational/ # Foundation (core-models, storage-system)
│ ├── libs-ui/ # UI components
│ ├── libs-ux/ # UX enhancements
│ ├── libs-structural/ # Structural (editor, modularity)
│ ├── libs-ai/ # AI integration
│ ├── libs-widgets/ # Widget management
│ ├── libs-space/ # Space features
│ ├── libs-api/ # API integration
│ └── theme-system/ # Theme system
│
├── modules/ # Modular features
│ ├── new-user-management/
│ ├── space-management/
│ └── structural/
│
└── tools/ # Build scripts
└── scripts/
├── build/ # Custom build system
└── create-library.js # Library generator
Application Architecture
graph TD
A[GoGrab Space App] --> B[Module System]
A --> C[Storage System]
A --> D[Theme System]
A --> E[Backend API]
B --> F[Action Registry]
B --> G[Event Bus]
B --> H[Module Manifests]
C --> I[GgStorage]
C --> J[Flash Persistence]
C --> K[MongoDB Sync]
E --> L[Authentication]
E --> M[Space Management]
E --> N[AI Proxy]
I --> O[OPFS]
I --> P[IndexedDB]
I --> Q[localStorage]
K --> R[MongoDB Atlas]
R --> S[Change Streams]
Data Flow
Offline-First Architecture:
- Write → Local storage (0.3ms) → UI updates instantly
- Queue → Operation added to sync queue
- Sync → Background sync to MongoDB (10-30s)
- Pull → Other clients receive updates via Change Streams
🧩 Core Systems
1. Module System
Philosophy: Every feature is a self-contained, reusable module.
Key Components:
BrowserModuleContract- Module interfaceModuleManifest- Module metadata (actions, widgets, routes)ActionRegistry- Inter-module communicationEventBus- Event-driven architecture
Example Module:
export class MyModule implements BrowserModuleContract {
readonly moduleId = 'my-module';
readonly manifest: ModuleManifest = {
id: 'my-module',
name: 'My Module',
version: '1.0.0',
actions: [/* discoverable actions */],
widgets: [/* composable widgets */]
};
async initialize(): Promise<void> { /* ... */ }
async start(): Promise<void> { /* ... */ }
}
Documentation: docs/english/GoGrab-modules/ (module patterns from R&D team)
2. Storage System
Philosophy: Intelligent, offline-first storage with optional cloud sync.
Features:
- 0.3ms - RAM cache hits (instant access)
- 20GB+ - Storage capacity (OPFS + IndexedDB + localStorage)
- Auto-Sync - Optional MongoDB sync with Change Streams
- Flash Persistence - Auto-persistent signals (zero configuration)
- Repository Pattern - CRUD + querying + batch operations
Simple Usage:
// Auto-persistent signal
const userSettings = autoFlashState({
key: 'user-settings',
database: 'gograb-api',
collection: 'settings',
initialValue: { theme: 'dark' },
syncStrategy: 'offline-first',
priority: 'high'
});
// Changes automatically sync to MongoDB!
userSettings.set({ theme: 'light' });
Documentation: docs/english/GoGrab-Space/libs-foundational/storage-system/
3. Theme System
Philosophy: Extensible theming with CSS variables, never override.
Structure:
libs/theme-system/
├── theme-styles/ # Core styles & mixins
├── theme-runtime/ # Runtime theme switching
└── cosmic-backgrounds/ # Visual effects
Key Features:
- CSS variables for all colors
- Theme utilities & mixins
- Runtime theme switching
- Cosmic background effects
Rules:
- Never override theme colors directly
- Use theme utilities & CSS variables
- Extend capabilities, don't override
4. Backend API
Philosophy: Secure, performant NestJS backend for authentication, AI, and data.
Structure:
apis/backend-api/
├── auth/ # JWT authentication
├── spaces/ # Space & universe management
├── ai/ # AI proxy (OpenAI, Anthropic, Google)
└── analytics/ # Usage tracking
Key Features:
- Database-per-Space - Each space gets
space_{spaceId}database - Universe Collections -
universescollection in each space database - JWT Auth - Secure user authentication
- AI Proxy - Cost tracking & usage analytics
Deployment:
- Production: Railway (https://backend-api-production-97c0.up.railway.app)
- Local:
yarn serve:backend-api(port 3000)
Documentation: docs/english/Backend-Api/
🎨 Key Features
1. Modular Universe Builder
Visual canvas for building universes with drag-drop sections.
Features:
- Drag-drop sections
- Flexbox/Grid layouts
- Module assignment
- Real-time preview
- Auto-save to MongoDB
Location: libs/libs-structural/modular-universe/
2. Widget System
Reusable UI components with variants and customization.
Features:
- Basic widgets (button, input, card, etc.)
- Custom widgets (user-created)
- Variant system (different styles)
- Widget showcase
- Code editor for variants
Location: libs/libs-widgets/
3. AI Integration
AI-powered features for intelligent development.
Features:
- GoGrab AI service (
@libs-ai/gograb-ai-lib) - Prompt system (
@libs-ai/prompt-system) - AI data connector
- OpenAI, Anthropic, Google support
Location: libs/libs-ai/
4. Documentation System
Beautiful, auto-generated documentation with markdown.
Features:
- Markdown (.mdc) support
- Auto-navigation generation
- Search functionality
- Multiple languages
- Live preview
Location: apps/docs-angular/
Content: docs/english/
🛠️ Development Workflow
Starting Development
# Install dependencies
yarn install
# Start GoGrab Space (frontend + backend)
yarn serve:gograb-space # Port 5200 (auto-starts backend on 3000)
# Or run separately
yarn serve:gograb-space # Port 5200
yarn serve:backend-api # Port 3000
# Start documentation
yarn serve:docs # Port 5010
Port Configuration
| App | Port | Command |
|---|---|---|
| GoGrab Space | 5200 | yarn serve:gograb-space |
| Space Admin | 5300 | yarn serve:space-admin |
| GoGrab Admin | 4300 | yarn dev:admin |
| Docs | 5010 | yarn serve:docs |
| Backend API | 3000 | yarn serve:backend-api |
Building
# Build everything
yarn build:all
# Build specific app
nx build gograb-space
# Build libraries only
yarn build:libs:auto
# Build apps only
yarn build:apps:auto
Creating Libraries
# Use the library generator (RECOMMENDED!)
yarn create:lib:proper
# Or manually
node tools/scripts/create-library.js
Critical Rules:
- ❌ Never add
rootDirtotsconfig.lib.json - ✅ Use custom builder in
project.json - ✅ Export everything through
src/index.ts - ✅ Use correct SCSS paths (
libs/theme-system/...)
Documentation: docs/english/GoGrab-Space/libs/BUILD_SYSTEM_FIX_SUMMARY.md
📊 Current Status
✅ Completed
Core Infrastructure:
- ✅ Nx monorepo setup with 5 apps
- ✅ 50+ libraries organized by category
- ✅ Custom build system for libraries
- ✅ Theme system with runtime switching
- ✅ Documentation system with auto-nav
Module System:
- ✅ Module contracts & manifests
- ✅ Action registry for inter-module communication
- ✅ Event bus for reactive events
- ✅ Module auto-discovery
Storage System:
- ✅ Intelligent storage (OPFS + IndexedDB + localStorage)
- ✅ Flash Persistence (auto-persistent signals)
- ✅ MongoDB sync with Change Streams
- ✅ Repository Pattern with L1+L2 caching
- ✅ 0.3ms cache hits, 20GB+ capacity
Backend API:
- ✅ NestJS backend with MongoDB
- ✅ JWT authentication
- ✅ Database-per-space architecture
- ✅ Space & universe CRUD operations
- ✅ AI proxy (OpenAI, Anthropic, Google)
- ✅ Production deployment on Railway
Features:
- ✅ Modular Universe Builder
- ✅ Widget system with variants
- ✅ Space management
- ✅ User authentication
- ✅ Real-time cross-browser sync
🔄 In Progress
Architecture Improvements:
- 🔄 Migrate from custom SyncEngine to storage-system's built-in sync
- 🔄 Simplify MongoDB integration (use
autoFlashState) - 🔄 Remove duplicate storage keys
Features:
- 🔄 Module marketplace
- 🔄 AI-powered code generation
- 🔄 Collaborative editing
📋 Planned
Q1 2025:
- Repository Pattern + L1 Cache
- Modular Storage improvements
- Migration Service
- Delta Sync optimization
Q2 2025:
- Real-Time Sync enhancements
- AI code generation from manifests
- Module marketplace launch
- Visual module builder
🔗 Quick Links
Essential Documentation
Getting Started:
- Platform Overview - Start here!
- Development Setup
- Architecture Guide
Core Systems:
- Module System - Module patterns
- Storage System - Storage guide
- Theme System - Theme documentation
- Backend API - Backend docs
Build System:
Development:
Important Links
Applications:
- GoGrab Space: http://localhost:5200
- Documentation: http://localhost:5010
- Backend API: http://localhost:3000/api
- Backend Production: https://backend-api-production-97c0.up.railway.app
Source Code:
- GitHub: (your repository)
- Nx Cloud: (if configured)
🎓 Key Learnings & Best Practices
Architecture Principles
- Modular Everything - Each feature is self-contained
- Offline-First - Local operations first, sync in background
- Type-Safe - Full TypeScript coverage
- Reactive - Use signals for state management
- Extensible - Never override, always extend
Development Guidelines
Angular:
- ✅ Use Standalone API (no NgModules)
- ✅ Separate .ts, .html, .scss files
- ✅ Use Angular Signals for state
- ✅ Define types in
models/directories
Storage:
- ✅ Use
autoFlashStatefor persistent state - ✅ Use
storage-systemfor all persistence - ✅ Leverage offline-first architecture
- ❌ Don't create custom sync logic
Modules:
- ✅ Implement
BrowserModuleContract - ✅ Export manifests for AI discoverability
- ✅ Use ActionRegistry for communication
- ✅ Use EventBus for events
Backend:
- ✅ Use database-per-space pattern
- ✅ Store flexible schemas (no rigid models)
- ✅ Enable Change Streams for real-time
- ✅ Use JWT for authentication
🚀 Next Steps
For New Developers
- Read this guide - Understand the platform
- Setup environment - Follow development setup
- Explore apps - Run each app locally
- Read module docs - Understand module system
- Build something - Create a simple module
For Architects
- Review architecture docs - Deep dive into systems
- Study module patterns - Learn module architecture
- Understand storage - Master storage-system
- Plan improvements - Contribute to roadmap
For Contributors
- Check current status - See what's in progress
- Pick a task - Choose from planned features
- Follow guidelines - Use development best practices
- Document changes - Update docs as you go
📚 Additional Resources
Documentation Locations
docs/english/
├── GoGrab-Space/ # Main platform docs
│ ├── architecture/ # Architecture guides
│ ├── libs/ # Library documentation
│ ├── modules/ # Module system
│ └── platform/ # Platform features
├── GoGrab-modules/ # Module patterns (R&D)
├── Backend-Api/ # Backend documentation
└── public/ # General development
├── development/ # Development guides
├── troubleshooting/ # Problem solving
└── miscellaneous/ # Other docs
Support
Questions or Issues?:
- Check documentation first
- Review troubleshooting guides
- Search existing issues
- Ask on team channels
🏆 Why GoGrab Space is Revolutionary
vs. Traditional No-Code Builders
❌ Traditional: Limited customization, vendor lock-in
✅ GoGrab Space: Full code access, modular architecture
vs. Code Frameworks
❌ Traditional: Start from scratch every time
✅ GoGrab Space: Reusable modules, visual building
vs. AI Code Generators
❌ Traditional: One-off code generation
✅ GoGrab Space: AI-trainable modules that evolve
Our Unique Advantages
- Modular Architecture - Everything is reusable
- Offline-First - Fastest performance possible
- AI-Integrated - Built for intelligent development
- Type-Safe - Full TypeScript coverage
- Production-Ready - Battle-tested systems
Created: November 18, 2025 - 10:40 AM
Session: 146.3
Version: 1.0.0
Status: Complete Platform Overview
Ready to build? Start with the Development Setup Guide! 🚀