> ## Documentation Index
> Fetch the complete documentation index at: https://acem-52171079.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Core concepts and structure of the DataDot Backend Server

The Backend Server is the central nervous system of the DataDot application. Built on **FastAPI**, it orchestrates the interaction between users, data, and AI models.

## Core Responsibilities

The server handles a wide range of critical functions:

<CardGroup cols={2}>
  <Card title="Authentication" icon="shield-check">
    Manages user sessions, JWT-based authentication, and supports multi-user environments.
  </Card>

  <Card title="LLM Orchestration" icon="brain-circuit">
    Provides a unified interface for interacting with various LLM providers (OpenAI, Anthropic, Gemini, etc.).
  </Card>

  <Card title="RAG Pipeline" icon="book">
    Handles document ingestion, embedding generation, and semantic search for Retrieval-Augmented Generation.
  </Card>

  <Card title="Workspace Management" icon="folder-tree">
    Organizes chats, documents, and settings into logical, isolated workspaces.
  </Card>

  <Card title="Real-time Events" icon="bolt">
    Supports WebSocket and Server-Sent Events (SSE) for streaming AI responses and real-time updates.
  </Card>

  <Card title="Procotol Server" icon="server">
    Acts as a bridge for the Model Context Protocol (MCP), enabling external tool integration.
  </Card>
</CardGroup>

## Project Structure

The project follows a clean, modular architecture designed for scalability and maintainability.

```txt theme={null}
server/
├── app/
│   ├── api/              # API route definitions (v1 endpoints)
│   ├── core/             # Configuration, database setup, and security
│   ├── crud/             # Database CRUD abstractions
│   ├── middleware/       # Custom middleware (CORS, Auth, Logging)
│   ├── models/           # SQLAlchemy ORM models
│   ├── schemas/          # Pydantic data schemas
│   ├── services/         # Core business logic (Chat, LLM, Embeddings)
│   ├── tasks/            # Background tasks and scheduler
│   └── utils/            # Helper utilities
├── main.py               # Application entry point
├── requirements.txt      # Python dependencies
└── Dockerfile            # Container definition
```

## Getting Started

To dive deeper into the server, check out the following resources:

<CardGroup cols={2}>
  <Card title="Architecture" icon="sitemap" href="/docs/server/architecture">
    Understand the data flow and technical stack.
  </Card>

  <Card title="Components" icon="cubes" href="/docs/server/components">
    Detailed breakdown of key services and providers.
  </Card>
</CardGroup>
