From 826100061e8b5916a27cc95edc5d4580603580de Mon Sep 17 00:00:00 2001 From: Polo Date: Thu, 21 May 2026 13:03:09 +0200 Subject: [PATCH] Simplify introduction page layout and remove custom architecture components --- src/app/docs/page.mdx | 358 ++++++++---------------------- src/components/mdx-components.tsx | 62 +++--- 2 files changed, 120 insertions(+), 300 deletions(-) diff --git a/src/app/docs/page.mdx b/src/app/docs/page.mdx index ec74668..df53668 100644 --- a/src/app/docs/page.mdx +++ b/src/app/docs/page.mdx @@ -1,286 +1,114 @@ -import { - ArchitectureCard, - ArchitectureGrid, - Callout, -} from '@/components/mdx-components' -import { ArrowRight, Info } from 'lucide-react' -import { - Card, - CardContent, - CardHeader, - CardTitle, -} from '@/components/ui/card' -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from '@/components/ui/table' +import { Callout } from '@/components/mdx-components' +import { Info, Network, Server, BrainCircuit, Database, ArrowRight, Lightbulb, Compass, Code2 } from 'lucide-react' +import Link from 'next/link' export const metadata = { title: 'Introduction - NeuroLab Documentation', - description: - 'High-level overview of the NeuroLab product, runtime system, and documentation scope.', + description: 'High-level overview of the NeuroLab product, runtime system, and documentation scope.', } -
-
-
-
NeuroLab Docs
-

- A clinical platform backed by AI services, user applications, and operational infrastructure. -

-
- NeuroLab is a single repository that combines application workflows, - analysis services, client applications, and supporting infrastructure. - This documentation is organized around the current runtime shape of that - system, not around older design notes or aspirational architecture. -
-
- - Open Quick Start - - - Review architecture - -
-
-
+# Introduction -}> - This site is intentionally conservative. If a docs page and the codebase - disagree, treat the active backend, AI service, and client entrypoints as the - source of truth. - - -
-
-
System overview
-

- NeuroLab is a layered application, not a single service -

-
- The product surface users interact with is supported by a backend API, an - AI runtime, multiple frontends, and a set of persistence and messaging - services. Each layer has a distinct role. -
-
+NeuroLab is a clinical platform backed by AI services, user applications, and operational infrastructure. - - - The repository contains multiple user-facing applications. They do not - all use the same framework or deployment model, so the docs separate them - instead of flattening them into one frontend story. - +This repository combines application workflows, analysis services, client applications, and supporting infrastructure into a single unified system. This documentation is organized around the current runtime shape of that system, serving as the canonical source of truth for developers and operators. - - The backend is the main application boundary. It owns users, doctors, - appointments, uploads, reports, billing, notifications, and chat - conversation persistence. - +}> + This site is intentionally conservative. If a docs page and the codebase disagree, always treat the active backend, AI service, and client entrypoints as the source of truth. + - - The active AI runtime lives under `AI Service/backend`. It exposes the - analysis and inference surface of the system through versioned FastAPI - routes and optional queue-backed workflows. - +## System Overview - - Supporting services handle persistence, background jobs, storage, and - targeted integrations for real-time or service-to-service communication. - - -
+NeuroLab is a layered application, not a single monolithic service. The product surface users interact with is supported by a backend API, an AI runtime, multiple frontends, and a set of persistence and messaging services. -
-
-
Repository shape
-

- The major parts of the repository -

-
- This repo mixes product code, service code, and documentation. The pages - in this docs app are meant to explain the current runtime boundary between - those parts. +
+
+
+ + Client Applications +
+
+ Multiple user-facing applications (platform, webapp, docs, ecommerce) built on different frameworks. +
+
+ +
+
+ + Backend API +
+
+ The main application boundary. Owns users, doctors, appointments, uploads, and conversation persistence.
- - - - - - Area - - - Current role - - - - - - - `backend/` - - - Main Express application and primary client-facing API surface. - - - - - `AI Service/backend/` - - - Canonical AI runtime for analysis, reports, and chat workflows. - - - - - `platform/` and `webapp/` - - - User-facing clients that consume backend APIs and operational - workflows. - - - - - `docs/` - - - Documentation application for the current runtime, integration - model, and setup path. - - - -
-
-
+
+
+ + AI Inference Service +
+
+ The canonical AI runtime exposing EEG analysis, voice processing, and recommendations via versioned FastAPI routes. +
+
-
-
-
Reading path
-

- Where to go next -

-
- Start with the page that matches what you need to do. The docs are split - between runtime orientation, setup, and concrete API reference. +
+
+ + Infrastructure +
+
+ MongoDB, Redis, object storage, and gRPC integrations handling background jobs and real-time state.
+
-
- - - -
- Orientation -
- - Quick Start - -
- - Fast summary of the active runtime components and the recommended - startup order. - -
-
+## Repository Architecture - - - -
- Runtime -
- - Architecture - -
- - Current service boundaries, dependencies, and operational layers. - -
-
+This mono-repo mixes product code, service code, and documentation. The table below explains the primary directories you will interact with. - - - -
- Reference -
- - Backend API - -
- - Route groups, responsibilities, and integration entry points for the - main application API. - -
-
-
-
+| Directory | Current Role | +| :--- | :--- | +| **`backend/`** | Main Express application and primary client-facing API surface. | +| **`AI Service/backend/`** | Canonical AI runtime for analysis, reports, and chat workflows. | +| **`platform/` & `webapp/`** | User-facing clients that consume backend APIs and operational workflows. | +| **`docs/`** | This documentation application detailing the runtime and integration model. | -
-
Next step
-

- Move from overview into the active runtime. -

-
- If you need the shortest path into the system, open Quick Start. If you - need the deeper service map, go straight to Architecture. -
-
- - Open Quick Start - - - Open Architecture - - -
-
+## Next Steps + +Select a path below to continue your journey through the NeuroLab system. + +
+ + +
+ Quick Start + +
+
+ Fast summary of the active runtime and recommended startup order. +
+ + + + +
+ Architecture + +
+
+ Deep dive into service boundaries, dependencies, and operational layers. +
+ + + + +
+ Backend API + +
+
+ Reference for route groups, responsibilities, and integration points. +
+ +
diff --git a/src/components/mdx-components.tsx b/src/components/mdx-components.tsx index fea200d..646018f 100644 --- a/src/components/mdx-components.tsx +++ b/src/components/mdx-components.tsx @@ -19,14 +19,6 @@ import { CardHeader, CardTitle, } from '@/components/ui/card' -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from '@/components/ui/table' import { cn } from '@/lib/utils' function extractTextContent(node: React.ReactNode): string { @@ -69,7 +61,7 @@ function InlineCode({ return ( ) => (

) => (

) => (

) => (

) => (

) => (
) => ( ) => (

) => (

    ) => (
      ), li: ({ className, ...props }: React.HTMLAttributes) => ( -
    1. +
    2. ), blockquote: ({ className, ...props }: React.HTMLAttributes) => (
      ) => ( // eslint-disable-next-line @next/next/no-img-element {alt} ), hr: ({ ...props }) => ( -
      +
      ), table: ({ className, ...props }: React.HTMLAttributes) => ( - - - +
      +
      + ), thead: ({ className, ...props }: React.HTMLAttributes) => ( - ) => ( - + ), tr: ({ className, ...props }: React.HTMLAttributes) => ( - ), th: ({ className, ...props }: React.HTMLAttributes) => ( - ), td: ({ className, ...props }: React.HTMLAttributes) => ( -