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 - High-level architecture and design patterns
- Project Structure - Code organization and folder structure
Core Features
- Authentication & Login - Server connection, login, OAuth, and session management
- Main Navigation - Tab navigation and main screens overview
- Timeline & Photos - Photo timeline, grid display, and asset management
- Search - Smart search, filters, and discovery features
- Albums - Album creation, sharing, and management
- Library - Library features including favorites, archive, trash, and more
Media Features
- Gallery Viewer - Full-screen image/video viewer
- Backup & Upload - Photo/video backup and upload functionality
- Download - Asset download to device
Social Features
- Sharing - Share links and external sharing
- Partners - Partner sharing functionality
- Activities - Comments and likes on shared albums
Background Services
- Background Services - Background backup and sync
- Real-time Updates - WebSocket connection for live updates
Technical Reference
- Data Models - Core data structures and models
- API Reference - Server API endpoints used by the app
- Local Storage - Database and persistent storage
- Settings - App settings and preferences
- Error Handling - Error messages and handling patterns
UI Components
- UI Components - Reusable UI widgets and components
- Theming - 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 |