Skip to content

Commit 8edbdb4

Browse files
authored
Merge pull request #28 from objectql/copilot/update-documentation-for-objectql
2 parents 65c49b1 + 4b9fa1c commit 8edbdb4

File tree

10 files changed

+3394
-51
lines changed

10 files changed

+3394
-51
lines changed

ARCHITECTURE.md

Lines changed: 570 additions & 0 deletions
Large diffs are not rendered by default.

CONTRIBUTING.md

Lines changed: 433 additions & 15 deletions
Large diffs are not rendered by default.

QUICK_REFERENCE.md

Lines changed: 493 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 66 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,31 @@
1313

1414
## 📖 Introduction
1515

16-
**ObjectOS** is the unified low-code platform for the AI era.
16+
**ObjectOS** is a high-performance, metadata-driven runtime engine that brings your enterprise applications to life.
17+
18+
### The Two-Layer Architecture
19+
20+
1. **[ObjectQL](https://github.com/objectql/objectql)** - The Metadata Standard
21+
- Defines the protocol for describing business objects, fields, relationships, and logic
22+
- Pure specification in YAML format (`*.object.yml`)
23+
- Enables AI and tools to generate massive amounts of enterprise metadata
24+
25+
2. **ObjectOS** - The Runtime Engine (This Repository)
26+
- Interprets and executes ObjectQL metadata
27+
- Generates fully functional enterprise applications from metadata
28+
- Provides the kernel, drivers, server, and UI components
29+
30+
Think of it as **ObjectQL is the blueprint language, ObjectOS is the builder**.
31+
32+
### What You Get
1733

1834
Most platforms force you to choose: flexibility (like **Airtable**) or structure (like **Salesforce**). ObjectOS gives you both in a single, open-source package.
1935

20-
By defining your business logic in standard `*.object.yml` files (powered by [ObjectQL](https://github.com/objectql/objectql)), ObjectOS instantly generates:
36+
By defining your business logic in standard `*.object.yml` files, ObjectOS instantly generates:
2137

2238
1. **A Powerful Backend:** Node.js kernel with built-in Auth, Permissions (RBAC/RLS), and Workflow.
2339
2. **A Unified Frontend:** A React application that combines high-performance Data Grids with enterprise-grade Detail Forms.
40+
3. **Database Agnostic:** Works with PostgreSQL, MongoDB, or SQLite through pluggable drivers.
2441

2542
## ✨ Key Features
2643

@@ -49,30 +66,41 @@ ObjectOS is designed to be the "Execution Layer" for AI.
4966

5067
## 🏗 Architecture
5168

52-
ObjectOS is a Monorepo that bridges the gap between Protocol and User Experience.
69+
ObjectOS implements a clean three-layer architecture following the principle:
70+
71+
> **"Kernel handles logic, Drivers handle data, Server handles HTTP."**
5372
5473
```mermaid
5574
graph TD
56-
subgraph "The Definition (ObjectQL)"
57-
YAML[contact.object.yml] -->|Parses| Metadata
75+
subgraph "Layer 1: Metadata Protocol"
76+
YAML[*.object.yml files<br/>ObjectQL Format] -->|Parsed by| Parser
5877
end
5978
60-
subgraph "The Engine (@objectos/kernel)"
61-
Metadata --> Kernel
62-
Kernel -->|Auth & Logic| Plugins
63-
Kernel -->|SQL/NoSQL| DB[(Database)]
79+
subgraph "Layer 2: Runtime Engine"
80+
Parser --> Kernel["@objectos/kernel<br/>Core Logic Engine"]
81+
Kernel --> Plugins["Plugins<br/>Auth, Workflow, Validation"]
82+
Kernel --> Driver["ObjectQL Drivers<br/>PostgreSQL, MongoDB, SQLite"]
83+
Driver --> DB[(Database)]
6484
end
6585
66-
subgraph "The Interface (apps/platform)"
67-
Kernel <-->|API| SDK["@objectos/sdk"]
68-
SDK --> Renderer["@objectos/renderer"]
69-
Renderer --> UI[Unified React UI]
86+
subgraph "Layer 3: Application Layer"
87+
Kernel <-->|REST API| Server["@objectos/server<br/>NestJS Gateway"]
88+
Server --> UI["@objectos/ui<br/>React Components"]
89+
UI --> App[Enterprise Application]
7090
end
7191
72-
style UI fill:#f9f,stroke:#333,stroke-width:2px
92+
style Kernel fill:#4a9eff,stroke:#333,stroke-width:2px
93+
style App fill:#f9f,stroke:#333,stroke-width:2px
7394
7495
```
7596

97+
### Key Design Principles
98+
99+
1. **Metadata-First**: Everything is defined declaratively in YAML
100+
2. **Protocol-Driven**: ObjectOS strictly implements the ObjectQL protocol
101+
3. **Database Agnostic**: Swap databases without changing business logic
102+
4. **Separation of Concerns**: Kernel never touches HTTP, Server never touches SQL
103+
76104
---
77105

78106
## 🚀 Quick Start
@@ -125,11 +153,21 @@ You will see a **Data Grid** for Deals. Click "New" to see the **Form**. All CRU
125153

126154
## 📦 Ecosystem
127155

128-
| Package | Description |
129-
| --- | --- |
130-
| **`apps/web`** | The unified frontend application (React + Shadcn UI). |
131-
| **`@objectos/kernel`** | The backend logic engine. |
132-
| **`@objectos/server`** | The NestJS API gateway. |
156+
| Package | Description | Role |
157+
| --- | --- | --- |
158+
| **`@objectos/kernel`** | Core runtime engine that loads metadata, manages object registry, and coordinates data operations | Brain of ObjectOS |
159+
| **`@objectos/server`** | NestJS-based HTTP server that exposes REST APIs for CRUD operations | API Gateway |
160+
| **`@objectos/ui`** | React component library for building enterprise UIs (grids, forms, charts) | Frontend Components |
161+
| **`@objectos/preset-base`** | Standard metadata presets (User, Role, Permission objects) | Pre-built Objects |
162+
163+
### External Dependencies
164+
165+
| Package | Source | Purpose |
166+
| --- | --- | --- |
167+
| **`@objectql/core`** | [objectql/objectql](https://github.com/objectql/objectql) | Metadata parser and validator |
168+
| **`@objectql/types`** | [objectql/objectql](https://github.com/objectql/objectql) | TypeScript type definitions for ObjectQL protocol |
169+
| **`@objectql/driver-knex`** | [objectql/objectql](https://github.com/objectql/objectql) | PostgreSQL/MySQL/SQLite driver implementation |
170+
| **`@objectql/driver-mongo`** | [objectql/objectql](https://github.com/objectql/objectql) | MongoDB driver implementation |
133171

134172
---
135173

@@ -139,6 +177,15 @@ We are building the future of open-source business software.
139177

140178
* **Core Protocol:** Contribute to [objectql/objectql](https://github.com/objectql/objectql).
141179
* **Runtime & UI:** Submit PRs to this repository.
180+
* **Read the Guide:** See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.
181+
182+
## 📚 Documentation
183+
184+
- **[Quick Reference](./QUICK_REFERENCE.md)** - Command reference and common patterns
185+
- **[Architecture](./ARCHITECTURE.md)** - Deep dive into the three-layer architecture
186+
- **[Roadmap](./ROADMAP.md)** - Development plan and feature roadmap
187+
- **[Contributing Guide](./CONTRIBUTING.md)** - How to contribute to ObjectOS
188+
- **[Online Documentation](https://objectos.org)** - Full guides and API reference
142189

143190
## 📄 License
144191

0 commit comments

Comments
 (0)