An open API service indexing awesome lists of open source software.

https://github.com/8syncdev/8sync-verse

8 Sync Verse - Multi-platform learning and AI agent ecosystem (Turborepo + Bun + Next.js + Encore.ts)
https://github.com/8syncdev/8sync-verse

Last synced: about 1 month ago
JSON representation

8 Sync Verse - Multi-platform learning and AI agent ecosystem (Turborepo + Bun + Next.js + Encore.ts)

Awesome Lists containing this project

README

          

# 🌌 8 Sync Verse

> Multi-platform learning & AI agent ecosystem β€” Web, Desktop, Mobile from one codebase.

## πŸš€ ChαΊ‘y nhanh

```powershell
# PowerShell (Windows)
.\dev.ps1 # ALL: BE (Encore) + FE (4 web apps)
.\dev.ps1 web # Chỉ FE (4 web apps)
.\dev.ps1 be # Chỉ BE (Encore)
.\dev.ps1 main # Chỉ 8syncdev.com
.\dev.ps1 learn # Chỉ learn-it
```

```bash
# Bash (macOS/Linux)
./dev.sh # ALL: BE + FE
./dev.sh be # Chỉ BE
./dev.sh main # Chỉ 8syncdev.com
```

## πŸ“¦ CΓ i Δ‘αΊ·t

```bash
# 1. CΓ i Bun: https://bun.sh
# 2. CΓ i Encore CLI: https://encore.dev/docs/install
# 3. Clone & install
bun install
```

## πŸ— KiαΊΏn trΓΊc

### Frontend (Next.js 16)

| App | Port | Domain |
|-----|------|--------|
| `apps/web/main` | 3000 | 8syncdev.com |
| `apps/web/learn` | 3001 | learn-it.8syncdev.com |
| `apps/web/agent` | 3002 | agent.8syncdev.com |
| `apps/web/admin` | 3003 | admin.8syncdev.com |

### Backend (Encore.ts)

| | |
|--|--|
| API | `http://localhost:4000` |
| Dashboard | `http://localhost:9400` |
| Services | auth, user, role, course, lesson, enrollment, chat |

```bash
# Test BE
curl http://localhost:4000/auth/health
# β†’ {"success":true,"result":{"service":"auth","timestamp":"..."}}
```

### Native Apps

| App | Desktop (Tauri) | Mobile (Capacitor) |
|-----|-----------------|-------------------|
| Learn IT | `apps/desktop/learn` | `apps/mobile/learn` |
| Agent | `apps/desktop/agent` | `apps/mobile/agent` |

## 🎨 Shared Packages

| Package | MΓ΄ tαΊ£ |
|---------|-------|
| `packages/ui` | Verse design system β€” Radix primitives, Galaxy 3D canvas, Framer Motion animations |
| `packages/core` | Auth client (auto-gen from Encore), hooks, types, constants, utils |
| `packages/ai` | LLM integration (planned) |
| `packages/config` | Shared tsconfig |

> **packages/core/src/api/client.ts** is auto-generated from the Encore backend β€” never edit manually.
> Regenerate: `cd apps/backend && encore gen client --target=ts --output=../../packages/core/src/api/client.ts .`

## πŸ” Lint & Format

```bash
# Web apps + packages β†’ Biome
bunx biome check apps/web/ packages/
bunx biome check --write apps/web/ packages/ # auto-fix

# Backend β†’ tsc (NO biome)
cd apps/backend && tsc --noEmit
```

## 🌐 Deploy Vercel

```powershell
.\deploy.ps1 # Preview all
.\deploy.ps1 main --prod # Production
```

## πŸ›  Tech Stack (ALL LATEST)

| Tech | Version | Role |
|------|---------|------|
| **Bun** | 1.3+ | Runtime, pkg manager |
| **Next.js** | 16.2.3 | FE (App Router, Turbopack) |
| **Encore.ts** | 1.56.5 | BE (microservices, auto-infra) |
| **React** | 19.2.5 | UI |
| **Tailwind CSS** | 4.2.2 | Styling |
| **Framer Motion** | 12.38.0 | Animations |
| **Drizzle ORM** | 0.45.2 | DB (in Encore) |
| **Zod** | 4.3.6 | Validation |
| **TypeScript** | 6.0.2 | Type safety |
| **Biome** | 2.4.11 | Lint + format (web) |
| **Turborepo** | 2.9.6 | Monorepo build |

## πŸ“ Structure

```
8sync-verse/
β”œβ”€β”€ apps/
β”‚ β”œβ”€β”€ web/ # Next.js apps (FE)
β”‚ β”‚ β”œβ”€β”€ main/ # :3000
β”‚ β”‚ β”œβ”€β”€ learn/ # :3001
β”‚ β”‚ β”œβ”€β”€ agent/ # :3002
β”‚ β”‚ └── admin/ # :3003
β”‚ β”œβ”€β”€ backend/ # Encore.ts (BE :4000)
β”‚ β”œβ”€β”€ desktop/ # Tauri wrappers
β”‚ └── mobile/ # Capacitor wrappers
β”œβ”€β”€ packages/
β”‚ β”œβ”€β”€ ui/ # Verse design system
β”‚ β”œβ”€β”€ core/ # Shared logic
β”‚ β”œβ”€β”€ ai/ # LLM layer
β”‚ └── config/ # Shared configs
β”œβ”€β”€ ref/ # Reference repos (gitignored)
β”œβ”€β”€ specs/ # Architecture specs
β”œβ”€β”€ dev.ps1 # ⚑ Dev runner (Windows)
β”œβ”€β”€ dev.sh # ⚑ Dev runner (macOS/Linux)
β”œβ”€β”€ deploy.ps1 # πŸš€ Vercel deploy
β”œβ”€β”€ biome.json # Biome config (web only)
β”œβ”€β”€ turbo.json
β”œβ”€β”€ CLAUDE.md
└── README.md
```