> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeus.ttr.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Zeus Finance

> Modern expense tracking with local-first offline support

## Welcome to Zeus Finance

Zeus is a modern expense tracking application built with a local-first architecture. Track your wallets, categorize transactions, and manage your finances — all with seamless offline support and automatic synchronization.

## Why Zeus?

<CardGroup cols={2}>
  <Card title="Local-First" icon="database">
    Your data lives on your device first. Work offline, sync when connected.
  </Card>

  <Card title="Cross-Platform" icon="mobile">
    Flutter mobile app with Rust backend. iOS and Android support.
  </Card>

  <Card title="Real-time Sync" icon="arrows-rotate">
    Automatic background synchronization keeps everything in sync.
  </Card>

  <Card title="Open Source" icon="github">
    Fully open source. Self-host the backend or contribute to the project.
  </Card>
</CardGroup>

## Quick Links

<CardGroup cols={3}>
  <Card title="Flutter App" icon="mobile-screen" href="/flutter/introduction">
    Build and run the mobile application
  </Card>

  <Card title="Server API" icon="server" href="/server/introduction">
    Deploy and configure the backend
  </Card>

  <Card title="Core Concepts" icon="lightbulb" href="/concepts/wallets">
    Understand wallets, categories, and transactions
  </Card>
</CardGroup>

## Architecture Overview

Zeus follows a **local-first** architecture pattern:

```mermaid theme={null}
flowchart TB
    subgraph Local[Local Device]
        App[Flutter App<br/>iOS/Android]
        Cache[(SQLite Cache<br/>Local Storage)]
    end

    subgraph Cloud[Cloud Infrastructure]
        Server[Rust Server<br/>REST API]
        DB[(PostgreSQL<br/>Server DB)]
    end

    App <-->|Read/Write| Cache
    App -->|Sync when online| Server
    Server -->|Query| DB

    style Local fill:#e1f5ff,stroke:#333
    style Cloud fill:#ffe1e1,stroke:#333
```

### Key Features

* **Offline-First**: Create, read, update, and delete operations work without network
* **Automatic Sync**: Changes sync automatically when connectivity is restored
* **Soft Deletes**: Data is preserved until successfully synced, then hard-deleted
* **Conflict Resolution**: Server IDs track sync state; local UUIDs ensure data integrity
* **Type-Safe**: Rust backend with Flutter's type-safe cache layer

## Getting Started

Choose your path:

<Steps>
  <Step title="Run the Mobile App">
    Follow the [Flutter installation guide](/flutter/installation) to set up your development environment and run the app.
  </Step>

  <Step title="Deploy the Server">
    Set up the [Rust backend](/server/installation) with Docker or run locally.
  </Step>

  <Step title="Start Tracking">
    Create your first wallet, add categories, and start logging transactions.
  </Step>
</Steps>

## Tech Stack

| Layer                | Technology       | Purpose                   |
| -------------------- | ---------------- | ------------------------- |
| **Mobile**           | Flutter          | Cross-platform UI         |
| **Mobile Cache**     | SQLite + sqflite | Local-first storage       |
| **Backend**          | Rust + Axum      | High-performance API      |
| **Database**         | PostgreSQL       | Persistent server storage |
| **State Management** | BLoC pattern     | Predictable state         |

## Contributing

We welcome contributions! Check out our [GitHub repository](https://github.com/olympia-hq/zeus) to get started.

<Note>
  Zeus is currently in active development. APIs and features may change.
</Note>
