Cake Affiliate
Completed
Oct 2022 - Jan 2024 (16 months)
Cake Affiliate is a dedicated iOS affiliate app stream separated from the legacy admin-focused dashboard, targeting affiliate-specific reporting, insights, and account workflows.
From Oct 2022 to Jan 2024, the project moved from affiliate-app extraction and new API integration into a release-hardened product with multi-account login, generate-link workflows, dashboard modules, and campaign-events capabilities.
Built with: Swift, UIKit, SwiftUI, Combine, CocoaPods, Fastlane, Firebase Crashlytics, Alamofire, SwiftyJSON, ReSwift, ReSwiftThunk, Swinject, SnapKit, Kingfisher, TPKeyboardAvoiding, DZNEmptyDataSet, XCTest, and XCUITest.
Links
Related Projects
Project Activity
Recent updates for Cake Affiliate. Completed
January 2024
-
Delivered iCake (CAKE Dashboard) update: campaign event detail (in progress).
December 2023
-
Delivered iCake (CAKE Dashboard) update: IOS-516 -- campaign events list.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into IOS-516; v1.6.1-build3; fastlane upload issue fixed.
-
Delivered iCake (CAKE Dashboard) update: Merge branch 'master' into IOS-516.
November 2023
-
Consolidated iCake (CAKE Dashboard) updates including: generate link bug fixed (when got error in generate link then it reapeared again regardless of successful response next time); minor bugs fixed; error handling generate link.
-
Consolidated iCake (CAKE Dashboard) updates including: list selection improved; IOS-516 -- campaign events list (in progress); Merge branch 'master' into IOS-535.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-555 -- Comment out Insights Tab; IOS-551 -- [Bug] Generate Unique Link - Remove 'Generate' button; IOS-553 -- [Bug] Generate Unique Link - Remove '0 - All Creatives'; IOS-552 -- search issue in generate link wizard's affiliate list & offer list.
-
Delivered iCake (CAKE Dashboard) update: v1.6.1-build2.
-
Consolidated iCake (CAKE Dashboard) updates including: [fastlane] Updated appstore and platform ios; [fastlane] Updated adhoc and platform ios; [fastlane] Updated development and platform ios; [fastlane] Nuked files for distribution.
-
Consolidated iCake (CAKE Dashboard) updates including: updated certificates / profiles for admin app; [fastlane] Updated appstore and platform ios; [fastlane] Updated adhoc and platform ios; [fastlane] Updated development and platform ios.
October 2023
-
Consolidated iCake (CAKE Dashboard) updates including: quicksight dashboard fix; quicksight poc; pagination for offers & creatives & affiliates + search for offers & affiliates.
-
Delivered iCake (CAKE Dashboard) update: swift ui -- generalized list screen with pagination & search functionality.
-
Delivered iCake (CAKE Dashboard) update: code refactoring.
-
Delivered iCake (CAKE Dashboard) update: IOS-509 -- quicksight poc with new hydra api: /apis/v1/quicksights/link.
-
Delivered iCake (CAKE Dashboard) update: code refactoring.
-
Delivered iCake (CAKE Dashboard) update: removed Cuckoo library and disabled unit tests.
-
Delivered iCake (CAKE Dashboard) update: error handling.
September 2023
-
Consolidated iCake (CAKE Dashboard) updates including: bug fix; IOS-524 -- generate unique link wizard (complete); IOS-524 -- generate unique link wizard.
-
Delivered iCake (CAKE Dashboard) update: IOS-509 -- quicksight poc with mock url.
August 2023
-
Consolidated iCake (CAKE Dashboard) updates including: v1.6-build3; removed bitcode (as required by Xcode 14); IOS-53 -- Getting login cookie from MFA based login.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-53 -- generate unique link hydra api; IOS-53 -- We need to call POST /Extjs.ashx?s=sessiontimeout before every hydra request; IOS-53 -- save cookie into current user (Note: not saved as permanent storage in Keychain); IOS-53 -- get login cookie on login.
-
Delivered iCake (CAKE Dashboard) update: IOS-53 -- campaign - generate unique link (select creative, link type).
-
Delivered iCake (CAKE Dashboard) update: IOS-509 -- Quicksight Dashboard POC hardcoded url.
-
Delivered iCake (CAKE Dashboard) update: cookie login api.
July 2023
-
Delivered iCake (CAKE Dashboard) update: sample - saving & using cookies with alamofire request using headers.
-
Delivered iCake (CAKE Dashboard) update: sample - saving & using cookies with alamofire request.
June 2023
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring; code refactoring.
-
Consolidated iCake (CAKE Dashboard) updates including: [Fixed] iPhone 7 (iOS 14.4.2) — Add Account screen: touch on text field not responding sometimes; On IAA-47: touch not working issue; index on IAA-47: f9d1db7 [Fixed] Bug: Duplicate data shown sometimes when we switch account.
-
Consolidated iCake (CAKE Dashboard) updates including: [Fixed] Bug: Duplicate data shown sometimes when we switch account; fix; Add new account - reload Dashboard data on successful login; [Fixed] Bug: In iOS 14 - Add new account doesn't dismiss login screen on successful login.
-
Consolidated iCake (CAKE Dashboard) updates including: affiliate-v1.0-build8; removed bitcode (as required by Xcode 14) -- fixed cocoa-pods errors; fix library issue; multiple logins screen - add new account.
-
Consolidated iCake (CAKE Dashboard) updates including: fix; updated library version; updated library version & fastlane; [Bug] Reload dashboard data when account is switched.
-
Consolidated iCake (CAKE Dashboard) updates including: server image on multiple login screen; server image on multiple login screens (in progress).
May 2023
-
Consolidated iCake (CAKE Dashboard) updates including: affiliate login improved - if api key can't be accessed then login will fail; Switch Account + Validate Credentials.
-
Delivered iCake (CAKE Dashboard) update: Switch Account + Validate Credentials.
-
Delivered iCake (CAKE Dashboard) update: working on Multiple Logins screen + ReSwift Redux Architecture integrated.
April 2023
-
Delivered iCake (CAKE Dashboard) update: observable object example.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'IAA-15' into IAA-47; v1.0-build8.
-
Delivered iCake (CAKE Dashboard) update: crash reporting setup + fixed crash.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'IAA-15' into IAA-47; fix; ui improvement; multiple login credentials screen.
-
Delivered iCake (CAKE Dashboard) update: re-usable components swift ui.
-
Delivered iCake (CAKE Dashboard) update: top offers - vertical filter (completed).
-
Delivered iCake (CAKE Dashboard) update: top offers - vertical filter.
March 2023
-
Consolidated iCake (CAKE Dashboard) updates including: offer filter - for sub-affiliate / daily / hourly reports; [Fixed] bugs for campaign filter - for sub-affiliate / daily / hourly reports.
-
Delivered iCake (CAKE Dashboard) update: campaign filter - for sub-affiliate / daily / hourly reports.
-
Delivered iCake (CAKE Dashboard) update: bug fixes.
-
Consolidated iCake (CAKE Dashboard) updates including: no data view for offer-compliance; no data view (referrals. top-offers, revenue performance); referrals view model & swift ui view.
-
Consolidated iCake (CAKE Dashboard) updates including: top offer view model & swift ui view; offer compliance screen improved ui; offer compliance screen.
-
Consolidated iCake (CAKE Dashboard) updates including: revenue performance ui; ui fix; created view model for -- revenue performance summary + offer compliance (with pagination support).
-
Consolidated iCake (CAKE Dashboard) updates including: IAA-15 -- dashboard screen using swift-ui / combine framework (in progress); networking using combine framework - playground example code.
-
Delivered iCake (CAKE Dashboard) update: dashboard - revenue performance summary.
-
Delivered iCake (CAKE Dashboard) update: IAA-15 dashboard tab.
February 2023
-
Delivered iCake (CAKE Dashboard) update: removed search-bar since there is no search supported by affiliate apis.
January 2023
-
Consolidated iCake (CAKE Dashboard) updates including: IAA-28 -- hourly report filters / sort by screen; IAA-9 hourly drill-down report - columns screen; IAA-9 hourly drill-down report.
-
Delivered iCake (CAKE Dashboard) update: IAA-27 -- daily report filters - offer filter & currency filter.
-
Consolidated iCake (CAKE Dashboard) updates including: [Fixed] - only one offer should be selected in sub-affiliate report offer filter; IAA-24 -- campaign report - currency filter; IAA-24 -- campaign report - conversion_type filter; IAA-24 -- campaign report filter - sub affiliate filter.
December 2022
-
Delivered iCake (CAKE Dashboard) update: IIA-8 daily summary report basic filters / sort by.
-
Consolidated iCake (CAKE Dashboard) updates including: IIA-8 daily summary report columns; Merge branch 'affiliate-app-project' into IAA-8; affiliate-v1.0-build5.
-
Consolidated iCake (CAKE Dashboard) updates including: daily summary report screen and api; campaign report columns.
November 2022
-
Consolidated iCake (CAKE Dashboard) updates including: Refactoring - Remove AffiliateApp flag from Admin Project; subaffiliate report columns.
-
Delivered iCake (CAKE Dashboard) update: Refactoring - Remove AffiliateApp flag from Affiliate Project.
-
Consolidated iCake (CAKE Dashboard) updates including: sub affiliates report - remove year to date option since this report has 31 days limit; fastlane code refactoring; affiliate app - fastlane setup; [fastlane] Updated appstore and platform ios.
-
Consolidated iCake (CAKE Dashboard) updates including: affiliate app - remove total or summary row (no summary info in new apis); Refactoring - rename AffiliateApp Project; pod install; deleted CakeAdmin app target from CakeAffiliate project.
-
Consolidated iCake (CAKE Dashboard) updates including: error handling for new affiliate api; getting affiliate api_key and using that api_key to get campaign / sub-affiliate report; campaigns report api https://staging.cakemarketing.com/affiliates/api/docs#!/CampaignSummary/Campaigns_Get; sub-affiliates report new api https://staging.cakemarketing.com/affiliates/api/docs#!/SubAffiliateSummary/SubAffiliateSummary_Get.
-
Delivered iCake (CAKE Dashboard) update: affiliate app -- new login api integrated https://staging.cakemarketing.com/affiliates/api/docs#/APIKeyPair.
October 2022
-
Delivered iCake (CAKE Dashboard) update: v1.6-build2.
-
Consolidated iCake (CAKE Dashboard) updates including: [fastlane] Updated appstore and platform ios; [fastlane] Updated adhoc and platform ios; [fastlane] Updated development and platform ios; [fastlane] Nuked files for distribution.
Objective Link to heading
- Build a dedicated iOS affiliate-facing application stream separated from the admin app, focused on affiliate reporting, insights, and account workflows.
- Ship production-ready affiliate APIs, dashboard/report experiences, and release operations from initial split through campaign-events delivery.
Delivery scope Link to heading
- Created independent Cake Affiliate app codebase and removed admin-target coupling for affiliate-specific delivery.
- Integrated affiliate authentication and API-key based flows, then delivered campaign, sub-affiliate, daily, and hourly report screens with filters, columns, and sort support.
- Expanded product capabilities with SwiftUI dashboard work, revenue/offer compliance/top-offers/referrals modules, multiple-account switching, and generate-link wizard flows.
- Added quicksight/dashboard experimentation and affiliate campaign-events functionality, while hardening edge-case error handling and list-selection behavior.
- Operationalized releases with Fastlane lane updates, certificate/profile management, build distribution, and repeated regression fixes.
Technical architecture focus Link to heading
- iOS app architecture combining UIKit foundations with increasing SwiftUI surface area for new dashboard and list modules.
- API integration patterns for affiliate endpoints, API key exchange, session/cookie handling, pagination/search, and resilient error states.
- Delivery pipeline discipline using Fastlane + CocoaPods with versioned build milestones and automated signing maintenance.