Cake Dashboard
Completed
May 2020 - Apr 2022 (24 months)
Cake Dashboard is a production iOS application stream for CAKE Admin reporting and management workflows, covering affiliate, offer, advertiser, and campaign operations from login through drill-down execution.
Across 2020-Apr 2022 delivery cycles, the project evolved from initial report APIs and UI foundations into a release-hardened app with reusable filter/sort infrastructure, campaign/offer edit capabilities, and automated distribution/testing operations.
Built with: Swift, UIKit, SwiftUI, 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 Dashboard. Completed
April 2022
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-459 -- Affilliate App - subaffiliates report; affiliate app - display name and copyright info.
March 2022
-
Consolidated iCake (CAKE Dashboard) updates including: fix app display name and copyright; minor issues fixed; fix.
-
Consolidated iCake (CAKE Dashboard) updates including: fix; affiliate-v1.0-build3; fastlane setup for cake affiliate app; [fastlane] Updated appstore and platform ios.
-
Delivered iCake (CAKE Dashboard) update: IOS-458 -- affiliate app - report summary view new ui.
-
Delivered iCake (CAKE Dashboard) update: v1.4-build4.
-
Consolidated iCake (CAKE Dashboard) updates including: save filters functionality completed. Doesn't include Place Pixel Wizard; v1.3-build7; label changed from Place Pixel Campaign to Place Pixel; swift ui.
February 2022
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-413 -- New Campaign list Api https://cakemarketing.atlassian.net/browse/CORE-1297; affiliate app -- report sorting view.
-
Delivered iCake (CAKE Dashboard) update: report sorting view.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'IOS-458' of https://github.com/cakemarketing/iCake into IOS-458; IOS-458 -- affiliate app -- custom tabbar icons; IOS-458 -- affiliate app - campaign report filters / sort by.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into IOS-458; IOS-458 -- affiliate app - report details screen; CAKEK-458 -- affiliate app - campaign report screen.
-
Delivered iCake (CAKE Dashboard) update: IOS-448 -- affiliate app: tabbar screen.
January 2022
-
Delivered iCake (CAKE Dashboard) update: IOS-448 -- border color change when text changed in TextField.
-
Delivered iCake (CAKE Dashboard) update: IOS-448 -- verify affiliate login in affiliate app.
-
Delivered iCake (CAKE Dashboard) update: IOS-448 -- affiliate login screen ui.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-448 -- affiliate login correct url; IOS-448 -- login screen ui; IOS-448 -- Affiliate App login api; IOS-448 -- Affiliate Portal app Login screen.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-448 -- new target for Cake Affiliate Portal app; refactoring.
December 2021
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-426 -- add save filters button for all screens; IOS-426 -- add save filters button on --> affiliate report sort by screen.
-
Delivered iCake (CAKE Dashboard) update: IOS-426 -- add save filters button on --> affiliate report sort by screen.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-18 -- reset filters; Merge branch 'without_faceid' into IOS-381.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-399 -- ios15 ui issue (tableview header top padding); IOS-413 -- Place pixel wizard (completed).
-
Delivered iCake (CAKE Dashboard) update: IOS-399 -- ios 15 navigation bar / tool bar ui issues.
November 2021
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-41 -- permanently save filters -- hide save filters button for Sort screen; IOS-41 -- permanently save filters -- affiliate, advertiser, offer list filters (completed); IOS-41 -- permanently save filters -- affiliate subaffiliate drill down report filters (completed) -- campaign subaffiliate drill down report filters (completed); fixed a bug due to which campaign report interval value was not getting from parent report.
-
Delivered iCake (CAKE Dashboard) update: fixed a bug due to which Advertiser filter was not showing in Offer Report Filters screen (also advertiser filter value can be saved permanently).
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-41 -- offer report filters(completed) -- advertiser offer drilldown report(completed); refactoring; IOS-41 -- advertiser report filters (completed); IOS-41 -- if switch in off then remove that setting from local db.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.3-build7; biometric functionality removed from app.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-41 -- permanently save filters show saved value on Filter Setting screen (Affiliate Report Filters completed); IOS-41 -- permanently save filters -- Sort Field and Direction for Affiliate Reports; refactoring; saved filters setting -- affiliate reports (continued).
October 2021
-
Delivered iCake (CAKE Dashboard) update: v1.3-build6.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-381 -- reverted ServerTime code (Now we have invalid timezone for dates, but login response time is improved); Add campaign wizard -- keyboard done button; [Fixed] cell can't be selected when user has typed some text in search bar but hasn't not clicked search button.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-380 -- Add campaign wizard bugs -- add Next button in keyboard; IOS-380 -- Add campaign wizard bugs -- hide keyboard when search button clicked; IOS-380 -- Add campaign wizard bugs -- new icon to support ios13.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-380 -- Add campaign wizard bugs -- hide currency id; IOS-380 -- Add campaign wizard bugs -- move title to top.
-
Delivered iCake (CAKE Dashboard) update: IOS-381 -- The created date on the campaign is incorrect -- [Fixed] server timezone issue for dates.
September 2021
-
Consolidated iCake (CAKE Dashboard) updates including: Add campaign wizard - ux improvement; Merge branch 'IOS-55' into IOS-31; Revert "IOS-363 -- Face ID Error when login for the first time".
-
Delivered iCake (CAKE Dashboard) update: library issue fixed for XCode 12.5.1.
-
Delivered iCake (CAKE Dashboard) update: IOS-363 -- Face ID Error when login for the first time -- update saved password on successful login (if account is already saved).
-
Consolidated iCake (CAKE Dashboard) updates including: subaffiliate shown; IOS-31 -- add campaign wizard.
-
Delivered iCake (CAKE Dashboard) update: IOS-31 -- add campaign wizard.
-
Delivered iCake (CAKE Dashboard) update: IOS-31 -- add campaign wizard tab.
August 2021
-
Consolidated iCake (CAKE Dashboard) updates including: v1.3-build3; hide sub-affiliate report since there is an issue with campaign sub-affiliates api.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.3-build2; [fastlane] Updated appstore and platform ios; [fastlane] Updated adhoc and platform ios; [fastlane] Updated development and platform ios.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-254 -- [Fixed] Bug: Multi-line values are not completely visible in collapsed Pixel/Postback cell; refactoring -- no card screen for sub-affiliate; refactoring.
-
Delivered iCake (CAKE Dashboard) update: Merge branch 'IOS-345' into IOS-55.
July 2021
-
Delivered iCake (CAKE Dashboard) update: IOS-55 -- support face-id / touch-id.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.2-build5; IOS-345 -- Margin should be a percentage not a dollar value.
-
Delivered iCake (CAKE Dashboard) update: IOS-328 -- campaign sub-affiliates report.
-
Delivered iCake (CAKE Dashboard) update: line chart segment.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-327 -- sub affiliates report filters; IOS-327 -- sub affiliate drill down from affiliate card.
June 2021
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-299 -- Line Chart -- Week To Date (Daily Line Chart) with single top affiliate; IOS-299 -- Line Chart -- Today (Hourly Line Chart) with single top affiliate.
-
Delivered iCake (CAKE Dashboard) update: IOS-299 -- basic line chart + highlight selected points.
-
Delivered iCake (CAKE Dashboard) update: updated cocoapods to 1.10.1 (to fix crashlytics issue -- https://stackoverflow.com/questions/64310532/could-not-build-module-nanopb-error-in-xcode-12-0-1) added Line Chart library.
-
Consolidated iCake (CAKE Dashboard) updates including: poc-biometrics-v0.1-build2; Temporarily hide biometric cells from original app until POC is approved.
-
Consolidated iCake (CAKE Dashboard) updates including: Ios 52 - POC - Passcode + Biometric Authentication Feature; v1.2-build4.
-
Delivered iCake (CAKE Dashboard) update: Face ID should be automatically used for login like touch ID (if enabled).
-
Delivered iCake (CAKE Dashboard) update: IOS-308 -- filters date selection user experience issue.
-
Consolidated iCake (CAKE Dashboard) updates including: [Fixed] removing all saved accounts will disable passcode/touch-id automatically; independent project for biometric poc (to distribute as separate app); Fixed following bugs [Fixed] Rearrange logout cell to show at the end [Fixed] Touch ID and PIN turned on > Touch ID does not disable when PIN is disabled. > causes the whole app to bug [Fixed] Disable/hide keyboard after Touch ID > select account.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-52 -- touch id / face id login; IOS-52 -- touch id / face id setup screen; IOS-304 -- remove sellable column from UI Note: since it is already removed from Report Columns screen, we only need to remove from Sort By screen.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into IOS-52; v1.2-build2 uploaded to testflight.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'CAKEK-1624' into CAKEK-1625; [Fixed] created seconds in a day constant to remove magic number from code.
-
Consolidated iCake (CAKE Dashboard) updates including: fixing unit tests; Merge branch 'CAKEK-1624' into CAKEK-1625.
-
Consolidated iCake (CAKE Dashboard) updates including: IOS-52 -- Passcode Lock Login - fixed bug due to which we get empty screen when we logout (whenever passcode is not set); IOS-52 -- Passcode Lock Login - Do login if one account + Select Account screen if multiple accounts; IOS-52 -- Passcode Lock Login + Set Passcode in Settings screen (work in progress).
May 2021
-
Consolidated iCake (CAKE Dashboard) updates including: Merge remote-tracking branch 'origin/master' into CAKEK-1625; Merge branch 'master' into CAKEK-1624.
-
Delivered iCake (CAKE Dashboard) update: v1.1.1-build2 uploaded to appstore.
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring - changed name from StoredDateFormatter to StoreFormatter; fix - show 2 decimal places for currency & percentage values.
-
Consolidated iCake (CAKE Dashboard) updates including: currency fix -- FreshDesk ticket: https://getcake.freshdesk.com/a/tickets/362305; [Fixed] bug - selected tab not show for first time (bug occured after updating to Xcode 12.4).
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1625 -- advertiser offer drill down filters sort by; refactoring -- filter controller; CAKEK-1625 -- advertiser offer drill down report titleStackView; CAKEK-1625 -- advertiser offer drill down report.
April 2021
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1625 -- Advertiser Offers filters model; refactoring -- extracted common interfaces from Filters model objects; refactoring -- remove singleton for offerReportFilters.
-
Delivered iCake (CAKE Dashboard) update: fixed - show Advertiser ID instead of Affiliate ID in Advertiser Report Sort screen.
-
Delivered iCake (CAKE Dashboard) update: Merge branch 'master' into CAKEK-1624.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1629 -- Advertiser List Filters + Sort by screens; CAKEK-1629 -- Advertiser List screen + search; [Fixed] bug - selected tab not show for first time (bug occured after updating to Xcode 12.4).
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1624 -- advertiser report (filters and sort_by); refactoring - common SortFieldList; fixed compile error for test; CAKEK-1627 -- advertiser card.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-1624 -- advertiser report screen & search.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.1-build6 uploaded to testflight; [Fixed] changed pricePaid into Payout (in offer detail screen).
-
Delivered iCake (CAKE Dashboard) update: fix.
-
Consolidated iCake (CAKE Dashboard) updates including: fix; v1.1-build5 uploaded to testflight.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-2999 -- Reverted back to independent PlacePixel screen like old logic.. So there is Place Pixel cell in campaign edit mode & that screen has 2 fields.
March 2021
-
Delivered iCake (CAKE Dashboard) update: CAKEK-3063 -- Fix Offer Status to sort by ID instead of name..
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-2999 -- added done button for textview of pixel & postback url in campaign card; added currency cell in offer details screen; CAKEK-2999 -- Stakeholder feedback on V1.1(2) - Move Edit Pixel into Campaign Edit Mode; pixel and postback url update in campaign card.
-
Delivered iCake (CAKE Dashboard) update: added pixel + post back url fields in Edit Campaign.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.1-build2 uploaded to testflight; changed Edit Redirect Offer to Redirect Offer; changed type from actionSheet to alert (so it doesn't crash on ipad); CAKEK-2998 -- show Loading... on campaign report detail screen header and show the campaign name instead of offer on header.
-
Consolidated iCake (CAKE Dashboard) updates including: [Fixed] The campaign drill down List has no indication of affiliate. The row should be the affiliate and the header should be the offer. (Offer List > Campaigns); [Fixed] The campaigns drill down under the offer card (Offer Report > Offer Details > Campaigns) has no indication of affiliate. The row should be the affiliate and the header should be the offer.; [Fixed] Rename Offer Link to Landing Page.
-
Delivered iCake (CAKE Dashboard) update: ui test fix.
-
Consolidated iCake (CAKE Dashboard) updates including: test compilation issues fixed; fix; campaign drilldown filters / sortby; refactoring.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-2927; v1.1-build2 uploaded to testflight; method names changed to avoid conflict with Apple's private api methods; offer campaigns drill down.
-
Delivered iCake (CAKE Dashboard) update: added accessibility identifiers for click cap / conversion cap.
-
Consolidated iCake (CAKE Dashboard) updates including: fix; CAKEK-1785 -- UI issues: when changing orientation in iPad, we are changing to right position for Interval-Selection-Dialog; changed to action-sheet instead of alert; fixed offer card bugs.
-
Delivered iCake (CAKE Dashboard) update: [Bug Fixed] save redirect offer on server.
February 2021
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring - add ApplicationContext as dependency in Repository to make this class easier test; refactoring - login credentials manager is added as dependency of repository (so now we don't need to access it directly); refactoring - simplified API error propagating code.
-
Consolidated iCake (CAKE Dashboard) updates including: offer column screen - added Drill Down By Campaign cell (no functionality yet); update offer story - edit redirect offer; offer update - click cap / conversion cap start date; [Fixed] Bug - click cap / conversion cap values can be null (so if we delete value in text field i-e empty string then it will null out automatically).
-
Delivered iCake (CAKE Dashboard) update: fixed failed unit tests issue.
-
Consolidated iCake (CAKE Dashboard) updates including: offer card - refactoring (use of nested enums to simplify logic); offer card screen; offer card unit test; disabled performance tests (we will move those to IntegrationTests target).
-
Delivered iCake (CAKE Dashboard) update: TDD Practice Example.
-
Delivered iCake (CAKE Dashboard) update: TDD practice.
-
Consolidated iCake (CAKE Dashboard) updates including: offer report unit test; offer report unit tests.
-
Delivered iCake (CAKE Dashboard) update: fixed all unit tests (except Account Manager screen).
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-1785; fixed unit test issues.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-1630; screenshots updated + git tracking stoped for screenshots (so it won't take long time to pull now).
-
Consolidated iCake (CAKE Dashboard) updates including: v1.0.1-build3 uploaded to testflight; added new version (1.0.1) + new screenshots uploaded on apple servers; CAKEK-2718 -- screenshots updated; removed default values for url, username & password + removed permanent storage for credentials (due to which MFA invalid reporting data issue was not detected).
-
Delivered iCake (CAKE Dashboard) update: CAKEK-1630 -- offer list filter (by offerTag & vertical).
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring; CAKEK-1630 -- offer list filters (Adertiser Id) + sort by; CAKEK-2325 -- offer list drill down by campaign; CAKEK-1630 -- offers list.
January 2021
-
Delivered iCake (CAKE Dashboard) update: CAKEK-2572 -- changed "Place Pixel" into "HTML Pixel" in place pixel screen.
-
Delivered iCake (CAKE Dashboard) update: v1.0-build22 uploaded to testflight.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1785 -- Tab-bar icons alignment issue; CAKEK-2143 -- Rename "Card" to "Details" in whole app; v1.0-build20 uploaded to testflight; fix.
-
Delivered iCake (CAKE Dashboard) update: fixed app display name & some units tests.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.0-build18 uploaded to testflight; keyboard type change in login screen; fixed -- unable to compile app due to entitlements issue; improved keychain access (password filtering logic).
-
Consolidated iCake (CAKE Dashboard) updates including: api changes implemented; uploaded screenshots on Appstore (finalized).
-
Consolidated iCake (CAKE Dashboard) updates including: fix; Merge branch 'master' into CAKEK-2003; CAKEK-2340 -- Hide offer reports tab; Bugs fixed - Offer Card - Click/conversion cap values ko blank kardo, not ‘nil’. - Offer Card - Price paid show currency symbol - Offer Card - remove optional("5") in click cap / conversion cap - Offer Card - convert Revenue from G to B (for billions).
-
Consolidated iCake (CAKE Dashboard) updates including: Bugs Fixed - remove segmented control if there is only 1 tab; CAKEK-2480 -- screenshots for Appstore.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-2480 -- generated screenshot and uploaded on Appstore Connect; CAKEK-2480 -- working on ui test (which will be used to generate screenshots); CAKEK-2480 -- upload screenshots script; CAKEK-2480 -- automated screenshot generation script.
-
Consolidated iCake (CAKE Dashboard) updates including: fixed landscape orientation for iPad in Login/MFA Code screens; Back button in MFA code screen; Add loading animation on MFA screen as login screen; Formalize saved account confirm delete alert message.
-
Consolidated iCake (CAKE Dashboard) updates including: accessibility identifier; animation fix; fix; fix saved accounts cell selection.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-2003 -- login button loading; CAKEK-2003 -- Fetch Saved Login functionality; CAKEK-2003 -- Settings - saved accounts screen & delete account using swipe to delete functionality; CAKEK-2003 -- Auth API usecases (MFA enabled - 407 Please Setup MFA on Admin Portal).
December 2020
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-2003 -- login screen ui fixed; CAKEK-2003 -- added autocomplete view.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-2003 -- login screen ui.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-2003 -- login screen scrollable; CAKEK-2003 -- login screen (in progress).
-
Consolidated iCake (CAKE Dashboard) updates including: swift ui + uikit integration demo; swift ui - apple demo complete; swift ui - apple demo.
-
Delivered iCake (CAKE Dashboard) update: swift ui - demo project started.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-2003 -- autocomplete textfield demo.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.0-build17 uploaded to testflight; fixed some unit tests; fix; offer report filters (completed).
-
Consolidated iCake (CAKE Dashboard) updates including: Bug - Change Affiliate Name in campaigns list navigation bar, after filters changed; Merge branch 'master' into CAKEK-1631; Merge branch 'master' into CAKEK-2069; CAKEK-2069 -- offer card screen.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-2069 -- offer report screen & offer report summary + columns screen.
-
Delivered iCake (CAKE Dashboard) update: refactoring - report summary / columns screen.
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring - reusable reports screen used in campaign drill down report; refactoring - reusable reports screen; refactoring.
-
Consolidated iCake (CAKE Dashboard) updates including: removed google analytics; fixed load more unit test - campaigns list.
-
Consolidated iCake (CAKE Dashboard) updates including: date picker set to old type; Revert "removed Swinject library"; removed Swinject library.
-
Consolidated iCake (CAKE Dashboard) updates including: fixed - click cap conversion cap delete value char by char issue; Merge branch 'master' into CAKEK-1552.
-
Consolidated iCake (CAKE Dashboard) updates including: campaigns list screen - list header has affiliate name appended; fixed update campaign ui test - test03_editCampaignDetails_intervalDates; campaign update screen - click cap & conversion cap must be integers.
-
Delivered iCake (CAKE Dashboard) update: pull to refresh fix - only one loading.
-
Consolidated iCake (CAKE Dashboard) updates including: fastlane code refactoring; fastlane - upload dSYM files to firebase crashlytics (when build uploaded to Testflight); crashlytics -- testing crash reporting; fix.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-1956 -- crashlytics setup (in progress).
November 2020
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring - Reusable Report cell; refactoring - Reuseable List cell; refactoring - register tableview section header re-useable protocol extension; CAKEK-2019 -- pull to refresh functionality (Affiliate Report, Affiliate List, Drill down by Campaign Report, Campaigns List).
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring; refactoring - lazy variable for UIBarButton; Merge branch 'master' into CAKEK-1631.
-
Consolidated iCake (CAKE Dashboard) updates including: update read me; fix; updated read me guide; CAKEK-1631 -- campaigns list filter by affiliate & offer.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1631 -- campaigns list; refactoring.
-
Consolidated iCake (CAKE Dashboard) updates including: offer changed to offer id ( in campaign card screen ); refactoring - accessibility identifiers.
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring - get controller utility for all controllers; date format finalized.
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring - get controller utility for Common & Settings; refactoring - BaseObjectSelectionProtocol changed to BaseObjectSelectionDelegate; v1.0-build13 uploaded to testflight; vertical stackview for ipad (campaign drill down screen header).
-
Consolidated iCake (CAKE Dashboard) updates including: update campaign bugs; CAKEK-2017 -- campaign drill down screen - remove AffiliateName from campaign cell (add it to header title).
-
Consolidated iCake (CAKE Dashboard) updates including: place pixel screen - full screen in ipad; place pixel screen - set min height to 3 lines for textView; place pixel screen - textview dark mode support; campaign card - payout field without $ sign.
-
Consolidated iCake (CAKE Dashboard) updates including: [ Fixed ] -- Affiliate + Campaign card screen (name field is expandable cell now). Also added Cancel button in Campaign Edit; CAKEK-1552 -- [ Fixed ] Scroll to cursor position (or scroll to bottom when cursor is going out of screen & increase cell height during typing).
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1985 -- remove to '/api/mobile' clause from the server URL text field; CAKEK-1985 -- [ Fixed ] once you close the app you have to re-configure the server URL, username, and password.; update campaign - place pixel and post back url dynamic height; campaign card - pixel & post back url (expandable cells).
-
Consolidated iCake (CAKE Dashboard) updates including: update campaign - C# date to unix epoch conversion for date; update campaign - save values; Merge branch 'master' into CAKEK-1552; update campaign - value text input.
-
Consolidated iCake (CAKE Dashboard) updates including: update campaign - date picker cell; ios 13.4 date picker style; refactoring - ios 14 datePicker support; update campaign - cap interval cell.
-
Delivered iCake (CAKE Dashboard) update: campaign card - edit / save button.
-
Consolidated iCake (CAKE Dashboard) updates including: fix; CAKEK-1907 -- Campaign Drill Down Should Inherit Date Range from Report Filters.
October 2020
-
Consolidated iCake (CAKE Dashboard) updates including: fix; CAKEK-1552 -- campaign card.
-
Consolidated iCake (CAKE Dashboard) updates including: v1.0-build13 uploaded to testflight; FilterByOfferContract text; CAKEK-1740 -- Drill down by campaign fixes 1. Change 'Reports' to Campaigns - Campaign drill down screen 2. Change Campaign Info to Affiliate name - offer name. (ellipsed).
-
Consolidated iCake (CAKE Dashboard) updates including: [Fixed] -- Bug - Try Again button not working in Empty View; CAKEK-1303 -- affiliate campaigns report ( Offer Contract filter functionality ); CAKEK-1303 -- affiliate campaigns report ( Offer filter functionality with search & pagination ).
-
Consolidated iCake (CAKE Dashboard) updates including: refactoring -- affiliate campaigns report search ( using reusable search controller ); refactoring; refactoring -- affiliate list search ( using reusable search controller ); refactoring -- added search functionality option in BaseObjectSelection controller.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-1303; fix; CAKEK-1633 -- Stakeholder Feedback - Affiliate Grid Redesign 1- add missing columns events & sellable in DetailColumns screen 2- change OpenCard cell to AffiliateDetails / CampaignDetails.
-
Consolidated iCake (CAKE Dashboard) updates including: affiliate campaign drill down report - filters; CampaignDetailColumns screen; CAKEK-1303 -- Affiliate Drill Down By Campaign Report (in progress).
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'CAKEK-1359' of https://github.com/cakemarketing/iCake into CAKEK-1359; fixed affiliate id -1 Open Card text; Merge branch 'CAKEK-1227' into CAKEK-1359.
September 2020
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-1359; Affiliate List - units testing.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-1227; text "Account Manager" changed to "Affiliate Manager".
-
Delivered iCake (CAKE Dashboard) update: added server url field in settings screen.
-
Delivered iCake (CAKE Dashboard) update: v1.0-build12.
-
Consolidated iCake (CAKE Dashboard) updates including: hide viewCampaignsList cell when opening card from reports; v1.0-build11; Merge branch 'master' into CAKEK-1359; fix.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1062 -- updated app icon; CAKEK-1359 -- Replace Edit Affiliate with Open Card; Merge branch 'master' into CAKEK-1359; Merge branch 'master' into CAKEK-1183.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-1318; fixed - affiliate summary screen; Merge branch 'master' into CAKEK-1091; Merge branch 'CAKEK-1183' into CAKEK-1359.
-
Consolidated iCake (CAKE Dashboard) updates including: changed accessibility identifier for summary buttons; Merge branch 'CAKEK-1318' into CAKEK-1091.
-
Consolidated iCake (CAKE Dashboard) updates including: all chart types - demo project; line chart.
-
Delivered iCake (CAKE Dashboard) update: chart demo.
-
Consolidated iCake (CAKE Dashboard) updates including: chart example code - fix; added charts example.
-
Delivered iCake (CAKE Dashboard) update: Prototype - adjustable font for summary labels ( fixed for iPhone SE screen as well i-e smallest screen ).
-
Consolidated iCake (CAKE Dashboard) updates including: report cell labels - accessibility identifiers; summary labels - accessibility identifiers; Prototype - pipe separator removed; Prototype - Take a screenshot of reducing the font size.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1318 -- Reorganize the details screen ( Report Details - rename View more columns ); fixed compilation error.
-
Delivered iCake (CAKE Dashboard) update: fixed compile error.
-
Consolidated iCake (CAKE Dashboard) updates including: fixed unit / ui tests - these were not able to compile due to refactoring done in the ticket; CAKEK-1224 -- Affiliate card screen; CAKEK-1221 -- Affiliate List Tag filter functionality.
-
Consolidated iCake (CAKE Dashboard) updates including: removed Detail screen ( Now there is only one DetailColumns screen with arrow in the Affiliate Report cell ); BaseObject; CAKEK-1221 -- Affiliate List Account manager filter functionality; refactoring.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1222 -- working on refactoring of Filter / Sort reusable screen; CAKEK-1222 -- reusable Sort By screen ( UI completed -- still need to work on functionality ); CAKEK-1221 -- refactoring - create reusable FilterSortViewCtrl.
August 2020
-
Delivered iCake (CAKE Dashboard) update: CAKEK-1220 -- affiliateName should be used for search query in Affiliate List tab.
-
Consolidated iCake (CAKE Dashboard) updates including: updated todos; CAKEK-1220 -- Affiliate List screen & functionality; CAKEK-1220 -- Affiliate List domain layer; CAKEK-1128 -- refactoring ( renamed AffiliateSort with SortField so we can use that for AffiliateListSortList as well ).
-
Consolidated iCake (CAKE Dashboard) updates including: v1.0-build9 uploaded to testflight; Fixed landscape layout for Summary View (Still we need to fix landscape layout for other views in iPhone 11).
-
Consolidated iCake (CAKE Dashboard) updates including: fix; CAKEK-1128 -- refactoring; removed AffiliatesList tab for now; CAKEK-1128 -- refactoring - struct changed to class for AffiliateSort, AffiliateStatus & AccountManager (with copy method) - so we do inheritance to create DataModel and ViewModel subclasses.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1128 -- refactoring; fix; CAKEK-1128 -- ListsViewController; CAKEK-1128 -- refactoring (now Engineering Notation c++ files are accessible in test target as well).
-
Delivered iCake (CAKE Dashboard) update: CAKEK-1091 -- sorting functionality using grid options.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1091 -- show which column is being sorted in grid layout (Different icons for: None, Ascending, Descending); CAKEK-1091 -- affiliate report cell values shown in grid layout; CAKEK-1091 -- summary values shown in grid layout; CAKEK-1091 -- Affiliate Grid redesign to a grid type of layout (in progress).
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-1091; CAKEK-1091 -- When clicking an affiliate row to see more results have a new menu which already has View More Columns opened (Allow for edit status and drill down to campaign on the same screen.); CAKEK-1091 -- The values in the columns should be separated by a number separator of a comma; CAKEK-1091 -- The information icon in the summary row opens view more columns for the summary row.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1091 -- updated todos; CAKEK-1091 -- The summary row has been updated to reflect the new columns (Revenue, Profit, Conversions, EPC) - The values in the columns should be separated by a number separator of a comma - If the value is too large to fit in the column label will be a unit suffix (Once over 6 digits we switch to the unit suffix. Example 1,500,234 would be 1.5M); Merge branch 'email-pass-field' into CAKEK-1091.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-1184 -- Hide Edit Status cell for Affiliate -1.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'CAKEK-976'; password changed; v1.0-build9 uploaded to testflight; star password field.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-861 -- Try Again button to reload data; CAKEK-861 -- handled internet connection error & request timeout error; CAKEK-861 -- show error when updating Affiliate Status failed.
-
Consolidated iCake (CAKE Dashboard) updates including: fastlane script updated; v1.0-build8 uploaded to testflight; fixed a crash in unit test; Merge branch 'CAKEK-937' into CAKEK-976.
-
Consolidated iCake (CAKE Dashboard) updates including: [Fixed] sort switch value bug; CAKEK-978 -- dark mode support (Advertiser/Offer tabs, Report interval dialog, Handle Dark/Light mode change notification).
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-937; Merge branch 'master' into CAKEK-976; [Fixed] apply button saves changes for both screen (filter or sort by); CAKEK-978 -- summary view dark mode.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'CAKEK-937' into CAKEK-976; CAKEK-937 -- update affiliate status /api/mobile/1/cards.asmx/AffiliateUpdate; sort id removed (only sort name shown); CAKEK-937 -- status list popup.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-937 -- Render a label for the affiliates current status /api/mobile/1/cards.asmx/Affiliate; added accessibilityIdentifier for backButton.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'CAKEK-687'; CAKEK-862 -- added slack action (send slack message to channel, when a new build is uploaded on testflight).
-
Consolidated iCake (CAKE Dashboard) updates including: version 1.0(7); Merge branch 'CAKEK-976' into CAKEK-862; [Fixed] Last month return wrong interval.
July 2020
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-1023 -- Add Ascending/Descending switch in Affiliate Report sort; added accessibility identifier ( summaryLabel ).
-
Consolidated iCake (CAKE Dashboard) updates including: accessibility identifier -- reportIntervalCancel; added endDateForThisWeek(); slack messaging work (in progress).
-
Consolidated iCake (CAKE Dashboard) updates including: version changed to 1.0 build 6 (uploaded on testflight); uploaded - version 0.1(6) on testflight; test report; Fix Api_FineOne unit test.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-833 - sort functionality.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-862 -- added instructions for project setup & running fastlane commands; show loader for Account Manager List screen (when loading data from server); code refactoring; CAKEK-987 -- Add Custom interval option to handle when users change the start date / end date.
-
Consolidated iCake (CAKE Dashboard) updates including: updated todos; Refactoring - Remove hard-coded values And use DateComponents instead; Bugs - report interval name saved, date clear button removed, loader shown when loading, load more bug (loads same records multiple times); no records text.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-900 search affiliate name (in progress).
-
Consolidated iCake (CAKE Dashboard) updates including: updated todos; Refactoring; CAKEK-896 -- search bar sticky, hide search button, filter button on right of search bar; removed affiliate id filter cell.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-969 - Report interval ( in progress ).
-
Consolidated iCake (CAKE Dashboard) updates including: fixed; Merge branches 'CAKEK-832' and 'CAKEK-832' of https://github.com/cakemarketing/iCake into CAKEK-832; fix.
-
Consolidated iCake (CAKE Dashboard) updates including: Merge branch 'master' into CAKEK-832 (So we can have fastlane setup in CAKEK-832 branch as well); Deployment target set to ios 13.0.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-862 Fastlane setup -- basic distribution process completed; CAKEK-862 Fastlane setup -- Build distributed to internal testers ( bundle exec fastlane upload ); CAKEK-862 Fastlane setup -- Upload on testflight setup ( bundle exec fastlane upload ); upload_to_testflight seems to have issues, so for now will use Transporter App to upload builds.
-
Consolidated iCake (CAKE Dashboard) updates including: added new todo from yesterday's requirement changes; Account Manager text changed to Affiliate Manager; updated todos; StartDate / EndDate / AccountManager filters work completed.
-
Delivered iCake (CAKE Dashboard) update: CAKEK-832 default value of start/end date is today / tomorrow respectively.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-832 Filter by Account Manager allow users to select an option from a list ( mobile/1/lists.asmx/AccountManagers API ); default startDate endDate value shown in the filter (if it is not set); CAKEK-832 Allow users to set a reported range via a Date Picker (StartDate / EndDate).
-
Consolidated iCake (CAKE Dashboard) updates including: Affiliate Report viewcontroller - unit tests (initial commit); affiliate api filters; refactoring - divided ApplicationContextProtocol into 2 protocols ( ApplicationContextProtocol & UserSettingsProtocol ); refactoring - removed SettingsApi (moved all settings into one class ApplicationContext).
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-832 Date Picker Cell - UI Control (shown datePickerCell for start/end date in filter screen); CAKEK-832 Filter screen (Affiliate ID, Start Date, End Date, Account Manager); code refactoring; CAKEK-832 updated todos.
-
Consolidated iCake (CAKE Dashboard) updates including: CAKEK-896 filter screen (empty screen); CAKEK-896 added search bar.
-
Consolidated iCake (CAKE Dashboard) updates including: organising unit tests ( by groups: ViewController, Data, Common ); Refactoring (Remove UseCase class).
-
Consolidated iCake (CAKE Dashboard) updates including: added test_GetAffiliatesReport_InvalidUsernamePass; create ApplicationContextProtocol so that create MockApplicationContext to unit tests for Api errors i-e invalid username/pass & unhandled exception; Api error handling - handled (invalid username/pass error & unhandled exception error).
-
Consolidated iCake (CAKE Dashboard) updates including: fixed Affiliiate column cell - UI issue; refactoring; Create class for Json Reading (Added json file for affiliate report api & also created testcase to verify the result); CAKEK-895 update todos, remove BaseObject.
June 2020
-
Consolidated iCake (CAKE Dashboard) updates including: updated TODOs; settings screen - units tests; CAKEK-858 - added repository protocol for settings (this can be useful in creating mock for unit testing).
-
Consolidated iCake (CAKE Dashboard) updates including: added 1st unit test which uses Mock object; added Cuckoo library (for creating Mock object functionality - in unit testing); Affiliate Report functionality (completed); affiliate - view more columns screen.
-
Consolidated iCake (CAKE Dashboard) updates including: settings screen prepend affiliate id (completed); working on settings screen & project restructure.
-
Consolidated iCake (CAKE Dashboard) updates including: working on settings screen; Render the summary row above the grid (Table Section Header); fix; fixed a bug due to which tableview last cell was hidden behind the tabbar.
-
Consolidated iCake (CAKE Dashboard) updates including: pagination issue fixed; Render report sub-navigation bar (Affiliates, Advertisers, Offers) -- Segmented Control.
-
Delivered iCake (CAKE Dashboard) update: Allow users to paginate through the results.
-
Delivered iCake (CAKE Dashboard) update: sample code (for unit testing).
-
Delivered iCake (CAKE Dashboard) update: BaseTableViewCtrl created & data shown in Affiliate Reports screen.
-
Consolidated iCake (CAKE Dashboard) updates including: affiliatesReport endpoint pagination work (completed); affiliatesReport endpoint pagination work; get affiliates report data in viewcontroller.
-
Delivered iCake (CAKE Dashboard) update: affliates report api (done).
-
Delivered iCake (CAKE Dashboard) update: CAKEK-687 implemented mobile/2/reports.asmx/Affiliates endpoint and getting response (now need to work on architecture and ui).
-
Delivered iCake (CAKE Dashboard) update: added Cake-ios project.
-
Consolidated iCake (CAKE Dashboard) updates including: Mockups; sample project rest endpoint functionality completed.
May 2020
-
Consolidated iCake (CAKE Dashboard) updates including: getConcreteNumberTrivia --> getting data and showing into ui; added MVP pattern for UI & created basic ui in storyboard.
-
Consolidated iCake (CAKE Dashboard) updates including: code refactoring (repository implementation); Code refactoring.
-
Delivered iCake (CAKE Dashboard) update: added Bolts-Swift library.
-
Consolidated iCake (CAKE Dashboard) updates including: implemented the number trivia remote worker & endpoint; working on generic api (rest api helper); installed cocoapods (Alamofire library added); working on data layer (business logic is also in progress).
-
Consolidated iCake (CAKE Dashboard) updates including: Number Trivia - business logic (work in progress); Number trivia sample project (init project); copied clean-swift sample from https://github.com/Clean-Swift/CleanStore.
-
Delivered iCake (CAKE Dashboard) update: init sample project.
Objective Link to heading
- Deliver and continuously harden a production iOS dashboard app for CAKE Admin users.
- Enable mobile-first access to admin reporting and management workflows with filter/sort/drill-down controls and secure authentication.
Delivery scope Link to heading
- Built and iterated reporting modules across Affiliate, Offer, Advertiser, and Campaign flows, including reusable list, filter, and sort screens.
- Implemented campaign/offer detail and update paths (status, caps, redirect offer, place pixel/postback) and report drill-down behavior.
- Added login/account flows with MFA handling, saved accounts, keychain-backed credential security improvements, and account switching.
- Scaled reliability through broad unit/UI test coverage, regression fixes, accessibility identifiers, and iPad/dark-mode UI refinements.
- Operationalized release workflow with Fastlane automation, TestFlight distribution, Crashlytics integration, screenshot generation, and signing/profile upkeep.
Technical architecture focus Link to heading
- UIKit-first iOS app with progressive SwiftUI adoption, repository-driven data access, and dependency-injection-backed modularization.
- API integration with CAKE mobile endpoints, reusable report/list controllers, pagination/search/filter composition, and robust error-handling patterns.
- Release pipeline governance through Bundler, CocoaPods, and Fastlane lanes for certificates, tests, and upload automation.