I refer to this so often it's now a blog post, enjoy
Parts common to a mobile application
- Dependency injection
- Navigation / deep linking
- State management (component / application)
- Themes and styles
- Animations and transitions
- Accessibility (a11y)
- Internationalisation (i18n)
- Threading
- Database storage (local)
- Preference storage
- Secure storage
- API endpoints (external)
- API policy - auth, retry, error policy
- Analytics
- Logging
- Testing
- Inter-layer communication
Project level considerations
- Build and deployment
- Continuous integration
- Monitoring (metrics)
- Code style
- Architectural patterns
- Implementation patterns
- Definition of done
- Source control
- Issue tracking (e.g. Jira)
- QA process
- Documentation
- Compliance
- Modules