# Lendair iOS Project ## Overview Lendair is an iOS peer-to-peer lending application with real-time notifications, user profiles, and loan management. ## Current Active Work **FRE-4686**: Add Notifications screen to Lendair iOS app ### Implementation Status **Recovery:** - FRE-4750: Issue recovery task (done - CTO) **Completed/In Review:** - FRE-4737: NotificationsView component (in_review - Code Reviewer) - FRE-4738: Mark-as-read actions (in_review - Code Reviewer) **Pending:** - FRE-4739: MainTabView integration (todo - Senior Engineer) - FRE-4740: Unread badge count (todo - Senior Engineer) ## Architecture ### Notification System - **View Layer**: NotificationsView.swift, NotificationRowView.swift - **ViewModel Layer**: NotificationsViewModel.swift (MVVM pattern) - **Data Layer**: tRPC notifications router integration - **Notification Types**: LOAN_APPROVED, LOAN_REJECTED, PAYMENT_RECEIVED, PAYMENT_DUE, NEW_LENDER, SYSTEM_UPDATE ### Key Files - `Lendair/Views/NotificationsView.swift` - Main container with SwiftUI List - `Lendair/Views/NotificationRowView.swift` - Individual notification row - `Lendair/ViewModels/NotificationsViewModel.swift` - Data fetching and state management ## Technical Decisions 1. **MVVM Pattern**: Used for separation of concerns and testability 2. **SwiftUI List**: For efficient rendering of notification collections 3. **Pull-to-refresh**: Native Refreshable API for manual refresh 4. **Empty State**: Custom empty state view with friendly messaging 5. **Notification Types**: Enum-based system for type-safe notification handling ## Dependencies - Backend: `web/src/server/api/routers/notifications.ts` - Database: `web/src/server/db/schema.ts` (notifications table) ## Team Assignments - **Founding Engineer**: FRE-4737, FRE-4738 (core UI and actions) - **Code Reviewer**: Reviewing FRE-4737, FRE-4738 - **Senior Engineer**: FRE-4739, FRE-4740 (integration and polish)