32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
---
|
|
name: project-overview
|
|
description: What this repo is, who it's for, and the non-obvious constraints
|
|
metadata:
|
|
type: project
|
|
---
|
|
|
|
This repo (`message-inbox-web-frontend-sdk`) is a **static frontend demo** of a Slack-grade
|
|
team-messaging + inbox + support product, delivered as a reusable **React SDK**
|
|
(`@lynkd/messaging-inbox-sdk`) plus a **Next.js demo app** (`apps/web`).
|
|
|
|
**Non-obvious goals (from the requesting stakeholder):**
|
|
- It must **look like** the LynkedUp Pro CRM dashboard (dark + amber accent `#FDA913`), and
|
|
support **light AND dark** modes. The "Support Center" page especially should feel native
|
|
to that CRM.
|
|
- It must match **Slack's feature depth** (channels, DMs, threads, reactions, pins, mentions,
|
|
presence, huddles, rich composer, scheduled send, search, saved) — as a **static** demo
|
|
first (mock data, no real backend).
|
|
- **Every feature toggled by an env flag** (`NEXT_PUBLIC_FEATURE_*`), and the **UI fully
|
|
themeable** (accent/radius/gradient) via env or a live in-app panel, defaulting to the
|
|
LynkedUp look.
|
|
- Must use the **BFF pattern** (client requested this explicitly). Here the BFF = Next.js
|
|
route handlers under `app/api/bff/**`.
|
|
- Stack the stakeholder named: Next.js (frontend), NestJS (backend), Postgres/Supabase.
|
|
For the static demo we use Next.js + the Next route-handler BFF only; NestJS/DB are a
|
|
documented later swap, **not** built.
|
|
- The real IIOS SDK/service lives at `D:\iios` and was used **only as reference** — this app
|
|
is deliberately standalone and does not import or call it. See [[iios-relationship]].
|
|
|
|
Deadline context: originally requested as a ~2-hour demo. Prioritize a working, good-looking
|
|
demo over completeness. See [[architecture-decisions]] and [[design-system]].
|