# Immich Mobile App Documentation This documentation provides a comprehensive guide to the Immich mobile application architecture, features, and implementation details. It is designed to be language-agnostic so developers can recreate the app in any technology stack. ## Table of Contents ### Getting Started - [Architecture Overview](./architecture.md) - High-level architecture and design patterns - [Project Structure](./structure.md) - Code organization and folder structure ### Core Features - [Authentication & Login](./login-flow.md) - Server connection, login, OAuth, and session management - [Main Navigation](./main-screens.md) - Tab navigation and main screens overview - [Timeline & Photos](./timeline.md) - Photo timeline, grid display, and asset management - [Search](./search.md) - Smart search, filters, and discovery features - [Albums](./albums.md) - Album creation, sharing, and management - [Library](./library.md) - Library features including favorites, archive, trash, and more ### Media Features - [Gallery Viewer](./gallery-viewer.md) - Full-screen image/video viewer - [Backup & Upload](./backup.md) - Photo/video backup and upload functionality - [Download](./download.md) - Asset download to device ### Social Features - [Sharing](./sharing.md) - Share links and external sharing - [Partners](./partners.md) - Partner sharing functionality - [Activities](./activities.md) - Comments and likes on shared albums ### Background Services - [Background Services](./background-services.md) - Background backup and sync - [Real-time Updates](./websocket.md) - WebSocket connection for live updates ### Technical Reference - [Data Models](./data-models.md) - Core data structures and models - [API Reference](./api-reference.md) - Server API endpoints used by the app - [Local Storage](./local-storage.md) - Database and persistent storage - [Settings](./settings.md) - App settings and preferences - [Error Handling](./error-handling.md) - Error messages and handling patterns ### UI Components - [UI Components](./ui-components.md) - Reusable UI widgets and components - [Theming](./theming.md) - Theme system and color schemes --- ## Quick Overview Immich is a self-hosted photo and video backup solution. The mobile app provides: - **Automatic backup** of photos and videos to your server - **Timeline view** with chronological photo organization - **Smart search** using AI-powered image recognition - **Album management** for organizing photos - **Sharing** via links or with partners - **Memories** showing photos from years past - **Map view** for location-based browsing - **People recognition** for face-based organization ## Key Concepts | Concept | Description | |---------|-------------| | **Asset** | A photo or video, either local (on device) or remote (on server) | | **Album** | A collection of assets, can be local or remote | | **Timeline** | Chronological view of all assets | | **Backup** | Process of uploading local assets to the server | | **Partner** | Another user who shares their photos with you | | **Memory** | Photos from the same day in previous years | --- [Next: Architecture Overview](./architecture.md)