This log lists the architectural decisions for Trendyol iOS Project.
- ADR-0000 - Using XCTest for unit test instead of Quick/Nimble
- ADR-0001 - Every view which has logic inside should(must) have presenter
- ADR-0002 - If it is necessary to manipulate the DTO models that the UI will use, the ViewModel class needs to be created
- ADR-0003 - Don't Use Chain Delegate
- ADR-0004 - Use Mock Generator
- ADR-0005 - Inject AB, Config, Global Values to Presenters
- ADR-0006 - Inject External Parameters as Arguments to Presenters
- ADR-0007 - Define any delegate on presenter interface to pass
- ADR-0008 - Layering Modular iOS Application
- ADR-0009 - Layering Modular iOS Application Approach
- ADR-0010 - Using Localizable Kit for Localization
- ADR-0011 - Naming Test Methods
- ADR-0012 - Use networkManager for network requests
- ADR-0013 - Unit Tests Required
- ADR-0014 - Use coreTracker for tracking events
- ADR-0015 - Use UITestablePage Interface for setting Accessibility Identifiers
- ADR-0016 - Write selector function unit test
- ADR-0017 - Theme Manager
- ADR-0018 - Use preferred navigation bar type
- ADR-0019 - Naming branch name
- ADR-0020 - Inject theme manager for common places
- ADR-0021 - Testing only one function for each test case
- ADR-0022 - Use Dependency Engine to Register and Access Modules
- ADR-0023 - Common Config Name Definitions
- ADR-0024 - Smoke tests maintenance is required for every PR
- ADR-0025 - Write unit tests with new structure
- ADR-0026 - Use only CoreTracker for Event unit tests
- ADR-0027 - Write Snapshot Tests for every Deeplinks and View Controllers
- ADR-0028 - Automatically trim trailing whitespace with Xcode setting
- ADR-0029 - Call super.tearDown() at the end of tearDown method
- ADR-0030 - UserDefault PropertyWrapper
- ADR-0031 - Code Style Guide
- ADR-0032 - ABCultureConfigurable
For new ADRs, please use TrendyolAdrTemplate.md as basis.