| title | Web App |
|---|---|
| status | CURRENT |
| last_updated | 2026-02-04 |
| category | service |
| port | 3000 |
| technology | TypeScript |
The web application for AllSource Event Store.
# Install dependencies
bun install
# Start development server
bun run devVisit http://localhost:3000 to access the app.
apps/web/
├── src/
│ ├── app/
│ │ ├── (auth)/ # Authentication routes
│ │ ├── (marketing)/ # Marketing pages
│ │ ├── ui-test/page.tsx # UI component testing
│ │ └── page.tsx # Homepage
│ │
│ └── lib/event-store/
│ ├── types.ts # TypeScript types
│ └── client.ts # API client
│
└── package.json
import { eventStoreClient } from "@/lib/event-store/client";
// Create events
const events = await eventStoreClient.createEventBatch([...]);
// Query events
const results = await eventStoreClient.queryEvents({
entity_id: "order-123",
event_type: "OrderPlaced"
});
// Create projection
const projection = await eventStoreClient.createProjection({
name: "Order Counter",
projection_type: "EventCounter",
status: "Created",
config: { batch_size: 100 }
});
// Get metrics
const metrics = await eventStoreClient.getMetrics();Create .env.local:
NEXT_PUBLIC_EVENT_STORE_URL=http://localhost:3900
NEXT_PUBLIC_CONTROL_PLANE_URL=http://localhost:3901- Framework: Next.js 15.3.5 (React 19)
- Language: TypeScript 5.8.3
- Styling: Tailwind CSS 4.1.11
- UI Components: @allsource/ui
- Code Quality: Biome.js 1.9.4
- Runtime: Bun 1.1.29
bun run dev # Start dev server
bun run build # Build for production
bun run type-check # TypeScript check
bun run lint # Lint code
bun run format # Format code