Skip to content

Commit d9afaab

Browse files
Copilothotlong
andcommitted
docs: update README.md with comprehensive documentation index
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent dfaffdb commit d9afaab

1 file changed

Lines changed: 70 additions & 33 deletions

File tree

‎README.md‎

Lines changed: 70 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,86 @@
22

33
Enterprise low-code platform mobile runtime built with Expo, React Native, and TypeScript.
44

5+
> **Metadata-driven runtime** — interprets ObjectUI metadata (Views, Forms, Dashboards, Actions) from an ObjectStack server and renders them as native mobile components. No hardcoded business logic.
6+
57
## Tech Stack
68

7-
- **Framework:** Expo SDK 54 (Managed Workflow)
8-
- **Navigation:** Expo Router (file-based routing)
9-
- **Language:** TypeScript (strict mode)
10-
- **Styling:** NativeWind v4 (Tailwind CSS for React Native)
11-
- **UI Components:** shadcn/ui pattern (`components/ui/`)
12-
- **Icons:** lucide-react-native
13-
- **State Management:** Zustand
14-
- **Data Fetching:** TanStack Query (React Query)
9+
| Category | Technology |
10+
|----------|-----------|
11+
| **Framework** | Expo SDK 54 (Managed Workflow) |
12+
| **Navigation** | Expo Router v6 (file-based routing) |
13+
| **Language** | TypeScript (strict mode) |
14+
| **Styling** | NativeWind v4 (Tailwind CSS for React Native) |
15+
| **UI Components** | shadcn/ui pattern (`components/ui/`) |
16+
| **Icons** | lucide-react-native |
17+
| **Client State** | Zustand |
18+
| **Server State** | @objectstack/client-react (TanStack Query) |
19+
| **Auth** | better-auth + @better-auth/expo |
20+
| **Offline Storage** | expo-sqlite |
21+
| **Metadata Cache** | react-native-mmkv |
22+
23+
## Getting Started
24+
25+
```bash
26+
# Install dependencies
27+
npm install --legacy-peer-deps
28+
29+
# Copy environment variables
30+
cp .env.example .env.local
31+
32+
# Start development server
33+
npx expo start
34+
```
1535

1636
## Project Structure
1737

1838
```
19-
├── app/ # Expo Router pages
20-
│ ├── _layout.tsx # Root layout (providers)
21-
│ └── (tabs)/ # Bottom tab navigation
22-
│ ├── _layout.tsx # Tab bar configuration
23-
│ ├── index.tsx # Home / Dashboard
24-
│ ├── apps.tsx # Apps listing
25-
│ ├── notifications.tsx
26-
│ └── profile.tsx
39+
├── app/ # Expo Router pages
40+
│ ├── _layout.tsx # Root layout (providers, auth guard)
41+
│ ├── (auth)/ # Authentication screens
42+
│ ├── (tabs)/ # Main tab navigation
43+
│ └── (app)/ # Dynamic app CRUD screens
2744
├── components/
28-
│ └── ui/ # Reusable UI components (shadcn pattern)
29-
│ ├── Button.tsx
30-
│ ├── Card.tsx
31-
│ └── Input.tsx
32-
├── lib/
33-
│ └── utils.ts # cn() utility (clsx + tailwind-merge)
34-
├── global.css # Tailwind base + CSS variables (light/dark)
35-
├── tailwind.config.js # Tailwind configuration
36-
├── babel.config.js # Babel + NativeWind preset
37-
├── metro.config.js # Metro + NativeWind integration
38-
└── nativewind-env.d.ts # NativeWind TypeScript types
45+
│ ├── ui/ # Design system primitives
46+
│ ├── renderers/ # ObjectUI rendering engine
47+
│ ├── actions/ # Action system
48+
│ ├── common/ # Shared components
49+
│ ├── query/ # Query builder UI
50+
│ ├── batch/ # Batch operation UI
51+
│ ├── views/ # Saved views UI
52+
│ └── sync/ # Offline sync UI
53+
├── hooks/ # Custom React hooks
54+
├── lib/ # Core libraries
55+
├── stores/ # Zustand state stores
56+
└── docs/ # Documentation
3957
```
4058

41-
## Getting Started
59+
## Scripts
4260

43-
```bash
44-
npm install
45-
npx expo start
46-
```
61+
| Command | Description |
62+
|---------|-------------|
63+
| `npm start` | Start Expo development server |
64+
| `npm run lint` | TypeScript check + ESLint |
65+
| `npm test` | Run Jest tests |
66+
| `npm run format` | Format with Prettier |
67+
68+
## Documentation
69+
70+
Comprehensive project documentation is available in the [`docs/`](./docs/) directory:
71+
72+
| Document | Description |
73+
|----------|-------------|
74+
| **[Architecture](./docs/ARCHITECTURE.md)** | System architecture, layer design, provider hierarchy, module dependencies |
75+
| **[UI/UX Design](./docs/UI-DESIGN.md)** | Design system, view renderers, field types, interaction patterns |
76+
| **[Data Layer](./docs/DATA-LAYER.md)** | Offline-first architecture, sync queue, conflict resolution, caching |
77+
| **[API Integration](./docs/API-INTEGRATION.md)** | SDK usage, authentication, hook reference, error handling |
78+
| **[Security](./docs/SECURITY.md)** | Auth security, data protection, network security, threat model |
79+
| **[Testing](./docs/TESTING.md)** | Testing strategy, tooling, unit/integration/E2E guidelines |
80+
| **[Deployment](./docs/DEPLOYMENT.md)** | Build system, EAS Build, OTA updates, CI/CD pipeline |
81+
| **[Contributing](./docs/CONTRIBUTING.md)** | Development workflow, coding standards, PR process |
82+
| **[Roadmap](./docs/ROADMAP.md)** | Development phases, SDK dependency matrix, release plan |
83+
| **[SDK Gap Analysis](./docs/SDK-GAP-ANALYSIS.md)** | Missing SDK APIs, impact analysis, workarounds |
4784

4885
## Design System
4986

50-
The app uses a CSS-variable-based design token system with light and dark mode support. Color tokens are defined in `global.css` and consumed via Tailwind classes.
87+
The app uses a CSS-variable-based design token system with light and dark mode support. Color tokens are defined in `global.css` and consumed via Tailwind classes. See [UI/UX Design](./docs/UI-DESIGN.md) for the full specification.

0 commit comments

Comments
 (0)