Developer Guide

For developers contributing to or extending MonoMail.

Setup

Prerequisites, first build, and IDE configuration.

Architecture Patterns

Offline-first design, reactive data flow, provider pattern.

Multi-Module Deep Dive

Module structure, dependency graph, and flavor distribution.

Data Layer

Room database, EmailRepository, ActionQueueManager, settings.

UI Layer

Screen architecture, ViewModels, Compose patterns, theme tokens.

Dependency Injection

Hilt modules, singleton providers, cross-module injection.

Build System & Flavors

Version catalog, flavor dimensions, ProGuard rules.

Adding a Feature

Step-by-step guide for creating a new feature module.

Testing

Unit tests, instrumentation tests, manual testing checklist.

CI/CD & Releases

Pipeline workflow, secrets, versioning, release process.

Style Guide & Pitfalls

Coding conventions, commit format, common mistakes.

← User Documentation