diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..d46186b --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,14 @@ +{ + "permissions": { + "allow": [ + "Bash(git *)", + "Bash(./node_modules/.bin/tsc *)", + "WebFetch(domain:optical-dev.oliver.solutions)", + "Bash(cmux --help)", + "Bash(cmux list-windows *)", + "Bash(cmux list-workspaces *)", + "Bash(cmux list-panes *)", + "Bash(cmux list-surfaces *)" + ] + } +} diff --git a/CopyGen BMB App Banner Visualiser Requirements.docx b/CopyGen BMB App Banner Visualiser Requirements.docx new file mode 100644 index 0000000..084a2ae Binary files /dev/null and b/CopyGen BMB App Banner Visualiser Requirements.docx differ diff --git a/Design Assets/Illustrations/Abstract/Arrow_Pulse.png b/Design Assets/Illustrations/Abstract/Arrow_Pulse.png new file mode 100644 index 0000000..aaeb4c5 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Arrow_Pulse.png differ diff --git a/Design Assets/Illustrations/Abstract/Cloud_Network.png b/Design Assets/Illustrations/Abstract/Cloud_Network.png new file mode 100644 index 0000000..3d73e45 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Cloud_Network.png differ diff --git a/Design Assets/Illustrations/Abstract/Data_Graph.png b/Design Assets/Illustrations/Abstract/Data_Graph.png new file mode 100644 index 0000000..b7e3918 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Data_Graph.png differ diff --git a/Design Assets/Illustrations/Abstract/Dial_Score.png b/Design Assets/Illustrations/Abstract/Dial_Score.png new file mode 100644 index 0000000..339f7e0 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Dial_Score.png differ diff --git a/Design Assets/Illustrations/Abstract/Download.png b/Design Assets/Illustrations/Abstract/Download.png new file mode 100644 index 0000000..397cc1e Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Download.png differ diff --git a/Design Assets/Illustrations/Abstract/Envelope.png b/Design Assets/Illustrations/Abstract/Envelope.png new file mode 100644 index 0000000..6fe433d Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Envelope.png differ diff --git a/Design Assets/Illustrations/Abstract/Location_Pin.png b/Design Assets/Illustrations/Abstract/Location_Pin.png new file mode 100644 index 0000000..745572c Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Location_Pin.png differ diff --git a/Design Assets/Illustrations/Abstract/Network.png b/Design Assets/Illustrations/Abstract/Network.png new file mode 100644 index 0000000..9fb14f9 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Network.png differ diff --git a/Design Assets/Illustrations/Abstract/Rewards.png b/Design Assets/Illustrations/Abstract/Rewards.png new file mode 100644 index 0000000..3baee85 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Rewards.png differ diff --git a/Design Assets/Illustrations/Abstract/Shield.png b/Design Assets/Illustrations/Abstract/Shield.png new file mode 100644 index 0000000..7740d0e Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Shield.png differ diff --git a/Design Assets/Illustrations/Abstract/Text_Bubble.png b/Design Assets/Illustrations/Abstract/Text_Bubble.png new file mode 100644 index 0000000..9230f75 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Text_Bubble.png differ diff --git a/Design Assets/Illustrations/Abstract/Upgrade.png b/Design Assets/Illustrations/Abstract/Upgrade.png new file mode 100644 index 0000000..0d764a0 Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Upgrade.png differ diff --git a/Design Assets/Illustrations/Abstract/Venn_Diagram.png b/Design Assets/Illustrations/Abstract/Venn_Diagram.png new file mode 100644 index 0000000..50b24fd Binary files /dev/null and b/Design Assets/Illustrations/Abstract/Venn_Diagram.png differ diff --git a/Design Assets/Illustrations/Architecture/Holiday_House.png b/Design Assets/Illustrations/Architecture/Holiday_House.png new file mode 100644 index 0000000..046c6c2 Binary files /dev/null and b/Design Assets/Illustrations/Architecture/Holiday_House.png differ diff --git a/Design Assets/Illustrations/Architecture/House.png b/Design Assets/Illustrations/Architecture/House.png new file mode 100644 index 0000000..d26f0e5 Binary files /dev/null and b/Design Assets/Illustrations/Architecture/House.png differ diff --git a/Design Assets/Illustrations/Architecture/House2.png b/Design Assets/Illustrations/Architecture/House2.png new file mode 100644 index 0000000..4377f50 Binary files /dev/null and b/Design Assets/Illustrations/Architecture/House2.png differ diff --git a/Design Assets/Illustrations/Architecture/Insurace_Products.png b/Design Assets/Illustrations/Architecture/Insurace_Products.png new file mode 100644 index 0000000..efc4951 Binary files /dev/null and b/Design Assets/Illustrations/Architecture/Insurace_Products.png differ diff --git a/Design Assets/Illustrations/Architecture/Moving_Home.png b/Design Assets/Illustrations/Architecture/Moving_Home.png new file mode 100644 index 0000000..3cf91e6 Binary files /dev/null and b/Design Assets/Illustrations/Architecture/Moving_Home.png differ diff --git a/Design Assets/Illustrations/Architecture/Products.png b/Design Assets/Illustrations/Architecture/Products.png new file mode 100644 index 0000000..ef3a65b Binary files /dev/null and b/Design Assets/Illustrations/Architecture/Products.png differ diff --git a/Design Assets/Illustrations/Banking/Banknote.png b/Design Assets/Illustrations/Banking/Banknote.png new file mode 100644 index 0000000..4737012 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Banknote.png differ diff --git a/Design Assets/Illustrations/Banking/Banknote_Piles.png b/Design Assets/Illustrations/Banking/Banknote_Piles.png new file mode 100644 index 0000000..3e1accb Binary files /dev/null and b/Design Assets/Illustrations/Banking/Banknote_Piles.png differ diff --git a/Design Assets/Illustrations/Banking/Briefcase.png b/Design Assets/Illustrations/Banking/Briefcase.png new file mode 100644 index 0000000..bdced7c Binary files /dev/null and b/Design Assets/Illustrations/Banking/Briefcase.png differ diff --git a/Design Assets/Illustrations/Banking/Briefcase_Documents.png b/Design Assets/Illustrations/Banking/Briefcase_Documents.png new file mode 100644 index 0000000..0df79de Binary files /dev/null and b/Design Assets/Illustrations/Banking/Briefcase_Documents.png differ diff --git a/Design Assets/Illustrations/Banking/Coins_Stack.png b/Design Assets/Illustrations/Banking/Coins_Stack.png new file mode 100644 index 0000000..b14bec2 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Coins_Stack.png differ diff --git a/Design Assets/Illustrations/Banking/Device_Warning.png b/Design Assets/Illustrations/Banking/Device_Warning.png new file mode 100644 index 0000000..4150d6e Binary files /dev/null and b/Design Assets/Illustrations/Banking/Device_Warning.png differ diff --git a/Design Assets/Illustrations/Banking/Direction.png b/Design Assets/Illustrations/Banking/Direction.png new file mode 100644 index 0000000..7944d3c Binary files /dev/null and b/Design Assets/Illustrations/Banking/Direction.png differ diff --git a/Design Assets/Illustrations/Banking/Direction_2.png b/Design Assets/Illustrations/Banking/Direction_2.png new file mode 100644 index 0000000..6794d21 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Direction_2.png differ diff --git a/Design Assets/Illustrations/Banking/Direction_3.png b/Design Assets/Illustrations/Banking/Direction_3.png new file mode 100644 index 0000000..b6d525d Binary files /dev/null and b/Design Assets/Illustrations/Banking/Direction_3.png differ diff --git a/Design Assets/Illustrations/Banking/Growth.png b/Design Assets/Illustrations/Banking/Growth.png new file mode 100644 index 0000000..90290ca Binary files /dev/null and b/Design Assets/Illustrations/Banking/Growth.png differ diff --git a/Design Assets/Illustrations/Banking/Hand_banknotes.png b/Design Assets/Illustrations/Banking/Hand_banknotes.png new file mode 100644 index 0000000..e4f8415 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Hand_banknotes.png differ diff --git a/Design Assets/Illustrations/Banking/Hourglass.png b/Design Assets/Illustrations/Banking/Hourglass.png new file mode 100644 index 0000000..9001045 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Hourglass.png differ diff --git a/Design Assets/Illustrations/Banking/House_Savings.png b/Design Assets/Illustrations/Banking/House_Savings.png new file mode 100644 index 0000000..be03db1 Binary files /dev/null and b/Design Assets/Illustrations/Banking/House_Savings.png differ diff --git a/Design Assets/Illustrations/Banking/Insurance_Products.png b/Design Assets/Illustrations/Banking/Insurance_Products.png new file mode 100644 index 0000000..7426181 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Insurance_Products.png differ diff --git a/Design Assets/Illustrations/Banking/Insurance_Products2.png b/Design Assets/Illustrations/Banking/Insurance_Products2.png new file mode 100644 index 0000000..04f5ad2 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Insurance_Products2.png differ diff --git a/Design Assets/Illustrations/Banking/International_Payments.png b/Design Assets/Illustrations/Banking/International_Payments.png new file mode 100644 index 0000000..73ee070 Binary files /dev/null and b/Design Assets/Illustrations/Banking/International_Payments.png differ diff --git a/Design Assets/Illustrations/Banking/Investment_Chart.png b/Design Assets/Illustrations/Banking/Investment_Chart.png new file mode 100644 index 0000000..1f7abb7 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Investment_Chart.png differ diff --git a/Design Assets/Illustrations/Banking/Investments.png b/Design Assets/Illustrations/Banking/Investments.png new file mode 100644 index 0000000..fb0ee0e Binary files /dev/null and b/Design Assets/Illustrations/Banking/Investments.png differ diff --git a/Design Assets/Illustrations/Banking/Investments_Hand.png b/Design Assets/Illustrations/Banking/Investments_Hand.png new file mode 100644 index 0000000..0d533c9 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Investments_Hand.png differ diff --git a/Design Assets/Illustrations/Banking/Loans.png b/Design Assets/Illustrations/Banking/Loans.png new file mode 100644 index 0000000..61432d9 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Loans.png differ diff --git a/Design Assets/Illustrations/Banking/Managing_Money.png b/Design Assets/Illustrations/Banking/Managing_Money.png new file mode 100644 index 0000000..4734ca0 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Managing_Money.png differ diff --git a/Design Assets/Illustrations/Banking/Money_Jar2.png b/Design Assets/Illustrations/Banking/Money_Jar2.png new file mode 100644 index 0000000..a9f15bd Binary files /dev/null and b/Design Assets/Illustrations/Banking/Money_Jar2.png differ diff --git a/Design Assets/Illustrations/Banking/Notes_Coins.png b/Design Assets/Illustrations/Banking/Notes_Coins.png new file mode 100644 index 0000000..0f86b6c Binary files /dev/null and b/Design Assets/Illustrations/Banking/Notes_Coins.png differ diff --git a/Design Assets/Illustrations/Banking/Piggy_Bank.png b/Design Assets/Illustrations/Banking/Piggy_Bank.png new file mode 100644 index 0000000..da27dbf Binary files /dev/null and b/Design Assets/Illustrations/Banking/Piggy_Bank.png differ diff --git a/Design Assets/Illustrations/Banking/Savings.png b/Design Assets/Illustrations/Banking/Savings.png new file mode 100644 index 0000000..efb1cdd Binary files /dev/null and b/Design Assets/Illustrations/Banking/Savings.png differ diff --git a/Design Assets/Illustrations/Banking/Savings_Growth.png b/Design Assets/Illustrations/Banking/Savings_Growth.png new file mode 100644 index 0000000..e788d6e Binary files /dev/null and b/Design Assets/Illustrations/Banking/Savings_Growth.png differ diff --git a/Design Assets/Illustrations/Banking/Savings_Jar.png b/Design Assets/Illustrations/Banking/Savings_Jar.png new file mode 100644 index 0000000..ce97e09 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Savings_Jar.png differ diff --git a/Design Assets/Illustrations/Banking/Savings_Jar_2.png b/Design Assets/Illustrations/Banking/Savings_Jar_2.png new file mode 100644 index 0000000..46c107e Binary files /dev/null and b/Design Assets/Illustrations/Banking/Savings_Jar_2.png differ diff --git a/Design Assets/Illustrations/Banking/Shopping_Receipt.png b/Design Assets/Illustrations/Banking/Shopping_Receipt.png new file mode 100644 index 0000000..2e1fbb2 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Shopping_Receipt.png differ diff --git a/Design Assets/Illustrations/Banking/Single_Coin_Hand.png b/Design Assets/Illustrations/Banking/Single_Coin_Hand.png new file mode 100644 index 0000000..221419f Binary files /dev/null and b/Design Assets/Illustrations/Banking/Single_Coin_Hand.png differ diff --git a/Design Assets/Illustrations/Banking/Wallet.png b/Design Assets/Illustrations/Banking/Wallet.png new file mode 100644 index 0000000..f3300b7 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Wallet.png differ diff --git a/Design Assets/Illustrations/Banking/Wallet_Cards.png b/Design Assets/Illustrations/Banking/Wallet_Cards.png new file mode 100644 index 0000000..e95f7ce Binary files /dev/null and b/Design Assets/Illustrations/Banking/Wallet_Cards.png differ diff --git a/Design Assets/Illustrations/Banking/Wallet_Coins.png b/Design Assets/Illustrations/Banking/Wallet_Coins.png new file mode 100644 index 0000000..6a2abaf Binary files /dev/null and b/Design Assets/Illustrations/Banking/Wallet_Coins.png differ diff --git a/Design Assets/Illustrations/Banking/Wallet_Notes.png b/Design Assets/Illustrations/Banking/Wallet_Notes.png new file mode 100644 index 0000000..63ba54a Binary files /dev/null and b/Design Assets/Illustrations/Banking/Wallet_Notes.png differ diff --git a/Design Assets/Illustrations/Banking/Wallet_Opened.png b/Design Assets/Illustrations/Banking/Wallet_Opened.png new file mode 100644 index 0000000..ce3a042 Binary files /dev/null and b/Design Assets/Illustrations/Banking/Wallet_Opened.png differ diff --git a/Design Assets/Illustrations/Banking/Wallet_Opened_Cards.png b/Design Assets/Illustrations/Banking/Wallet_Opened_Cards.png new file mode 100644 index 0000000..14c465a Binary files /dev/null and b/Design Assets/Illustrations/Banking/Wallet_Opened_Cards.png differ diff --git a/Design Assets/Illustrations/Cards/Balance_Transfer.png b/Design Assets/Illustrations/Cards/Balance_Transfer.png new file mode 100644 index 0000000..29cb645 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Balance_Transfer.png differ diff --git a/Design Assets/Illustrations/Cards/Card_Envelope.png b/Design Assets/Illustrations/Cards/Card_Envelope.png new file mode 100644 index 0000000..074ad9e Binary files /dev/null and b/Design Assets/Illustrations/Cards/Card_Envelope.png differ diff --git a/Design Assets/Illustrations/Cards/Card_Mobile.png b/Design Assets/Illustrations/Cards/Card_Mobile.png new file mode 100644 index 0000000..08994f8 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Card_Mobile.png differ diff --git a/Design Assets/Illustrations/Cards/Card_Notebook.png b/Design Assets/Illustrations/Cards/Card_Notebook.png new file mode 100644 index 0000000..c1d7da0 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Card_Notebook.png differ diff --git a/Design Assets/Illustrations/Cards/Card_Notes.png b/Design Assets/Illustrations/Cards/Card_Notes.png new file mode 100644 index 0000000..e063b32 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Card_Notes.png differ diff --git a/Design Assets/Illustrations/Cards/Card_Personalisation.png b/Design Assets/Illustrations/Cards/Card_Personalisation.png new file mode 100644 index 0000000..e1f57e0 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Card_Personalisation.png differ diff --git a/Design Assets/Illustrations/Cards/Card_Signature.png b/Design Assets/Illustrations/Cards/Card_Signature.png new file mode 100644 index 0000000..857c4b8 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Card_Signature.png differ diff --git a/Design Assets/Illustrations/Cards/Cards_Envelope.png b/Design Assets/Illustrations/Cards/Cards_Envelope.png new file mode 100644 index 0000000..0455469 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Cards_Envelope.png differ diff --git a/Design Assets/Illustrations/Cards/Cards_Hand.png b/Design Assets/Illustrations/Cards/Cards_Hand.png new file mode 100644 index 0000000..c725b93 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Cards_Hand.png differ diff --git a/Design Assets/Illustrations/Cards/Credit_Card.png b/Design Assets/Illustrations/Cards/Credit_Card.png new file mode 100644 index 0000000..e23d215 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Credit_Card.png differ diff --git a/Design Assets/Illustrations/Cards/Credit_Cards.png b/Design Assets/Illustrations/Cards/Credit_Cards.png new file mode 100644 index 0000000..c14561d Binary files /dev/null and b/Design Assets/Illustrations/Cards/Credit_Cards.png differ diff --git a/Design Assets/Illustrations/Cards/Direct_Debit.png b/Design Assets/Illustrations/Cards/Direct_Debit.png new file mode 100644 index 0000000..da49fc2 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Direct_Debit.png differ diff --git a/Design Assets/Illustrations/Cards/Laptop_Padlock.png b/Design Assets/Illustrations/Cards/Laptop_Padlock.png new file mode 100644 index 0000000..48fe198 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Laptop_Padlock.png differ diff --git a/Design Assets/Illustrations/Cards/PIN.png b/Design Assets/Illustrations/Cards/PIN.png new file mode 100644 index 0000000..de2b98c Binary files /dev/null and b/Design Assets/Illustrations/Cards/PIN.png differ diff --git a/Design Assets/Illustrations/Cards/Padlock.png b/Design Assets/Illustrations/Cards/Padlock.png new file mode 100644 index 0000000..5052a66 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Padlock.png differ diff --git a/Design Assets/Illustrations/Cards/Reward_Cards.png b/Design Assets/Illustrations/Cards/Reward_Cards.png new file mode 100644 index 0000000..92ddf37 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Reward_Cards.png differ diff --git a/Design Assets/Illustrations/Cards/Secure_PIN.png b/Design Assets/Illustrations/Cards/Secure_PIN.png new file mode 100644 index 0000000..9b6b98f Binary files /dev/null and b/Design Assets/Illustrations/Cards/Secure_PIN.png differ diff --git a/Design Assets/Illustrations/Cards/Single_Hand_Card.png b/Design Assets/Illustrations/Cards/Single_Hand_Card.png new file mode 100644 index 0000000..6b0cd53 Binary files /dev/null and b/Design Assets/Illustrations/Cards/Single_Hand_Card.png differ diff --git a/Design Assets/Illustrations/Devices/Calculator.png b/Design Assets/Illustrations/Devices/Calculator.png new file mode 100644 index 0000000..5f0caa2 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Calculator.png differ diff --git a/Design Assets/Illustrations/Devices/Card_Reader.png b/Design Assets/Illustrations/Devices/Card_Reader.png new file mode 100644 index 0000000..ea2b3f3 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Card_Reader.png differ diff --git a/Design Assets/Illustrations/Devices/Devices.png b/Design Assets/Illustrations/Devices/Devices.png new file mode 100644 index 0000000..7493480 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Devices.png differ diff --git a/Design Assets/Illustrations/Devices/Hand_With_Mobile.png b/Design Assets/Illustrations/Devices/Hand_With_Mobile.png new file mode 100644 index 0000000..897d170 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Hand_With_Mobile.png differ diff --git a/Design Assets/Illustrations/Devices/Headset.png b/Design Assets/Illustrations/Devices/Headset.png new file mode 100644 index 0000000..e5962ef Binary files /dev/null and b/Design Assets/Illustrations/Devices/Headset.png differ diff --git a/Design Assets/Illustrations/Devices/Laptop.png b/Design Assets/Illustrations/Devices/Laptop.png new file mode 100644 index 0000000..a34a633 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Laptop.png differ diff --git a/Design Assets/Illustrations/Devices/Megaphone.png b/Design Assets/Illustrations/Devices/Megaphone.png new file mode 100644 index 0000000..ecc8b1b Binary files /dev/null and b/Design Assets/Illustrations/Devices/Megaphone.png differ diff --git a/Design Assets/Illustrations/Devices/Mobile.png b/Design Assets/Illustrations/Devices/Mobile.png new file mode 100644 index 0000000..3a2c0e7 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Mobile.png differ diff --git a/Design Assets/Illustrations/Devices/Mobile_Content.png b/Design Assets/Illustrations/Devices/Mobile_Content.png new file mode 100644 index 0000000..b422466 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Mobile_Content.png differ diff --git a/Design Assets/Illustrations/Devices/Mobile_Content_Touch.png b/Design Assets/Illustrations/Devices/Mobile_Content_Touch.png new file mode 100644 index 0000000..2546489 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Mobile_Content_Touch.png differ diff --git a/Design Assets/Illustrations/Devices/Mobile_Tablet.png b/Design Assets/Illustrations/Devices/Mobile_Tablet.png new file mode 100644 index 0000000..9dd9cb1 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Mobile_Tablet.png differ diff --git a/Design Assets/Illustrations/Devices/Mobile_Tablet2.png b/Design Assets/Illustrations/Devices/Mobile_Tablet2.png new file mode 100644 index 0000000..1af648c Binary files /dev/null and b/Design Assets/Illustrations/Devices/Mobile_Tablet2.png differ diff --git a/Design Assets/Illustrations/Devices/Openbanking.png b/Design Assets/Illustrations/Devices/Openbanking.png new file mode 100644 index 0000000..1443d93 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Openbanking.png differ diff --git a/Design Assets/Illustrations/Devices/Router.png b/Design Assets/Illustrations/Devices/Router.png new file mode 100644 index 0000000..5c7ad85 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Router.png differ diff --git a/Design Assets/Illustrations/Devices/Smart_Watch.png b/Design Assets/Illustrations/Devices/Smart_Watch.png new file mode 100644 index 0000000..fd7b1ef Binary files /dev/null and b/Design Assets/Illustrations/Devices/Smart_Watch.png differ diff --git a/Design Assets/Illustrations/Devices/Tablet.png b/Design Assets/Illustrations/Devices/Tablet.png new file mode 100644 index 0000000..a0e0115 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Tablet.png differ diff --git a/Design Assets/Illustrations/Devices/Timer.png b/Design Assets/Illustrations/Devices/Timer.png new file mode 100644 index 0000000..5363976 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Timer.png differ diff --git a/Design Assets/Illustrations/Devices/Webcame.png b/Design Assets/Illustrations/Devices/Webcame.png new file mode 100644 index 0000000..6be6265 Binary files /dev/null and b/Design Assets/Illustrations/Devices/Webcame.png differ diff --git a/Design Assets/Illustrations/Documents/Calendar.png b/Design Assets/Illustrations/Documents/Calendar.png new file mode 100644 index 0000000..f1de0f3 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Calendar.png differ diff --git a/Design Assets/Illustrations/Documents/Checklist.png b/Design Assets/Illustrations/Documents/Checklist.png new file mode 100644 index 0000000..976f5b9 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Checklist.png differ diff --git a/Design Assets/Illustrations/Documents/Documents_Pack.png b/Design Assets/Illustrations/Documents/Documents_Pack.png new file mode 100644 index 0000000..59fb097 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Documents_Pack.png differ diff --git a/Design Assets/Illustrations/Documents/Documents_Signed.png b/Design Assets/Illustrations/Documents/Documents_Signed.png new file mode 100644 index 0000000..d729157 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Documents_Signed.png differ diff --git a/Design Assets/Illustrations/Documents/ID_Card.png b/Design Assets/Illustrations/Documents/ID_Card.png new file mode 100644 index 0000000..87edf78 Binary files /dev/null and b/Design Assets/Illustrations/Documents/ID_Card.png differ diff --git a/Design Assets/Illustrations/Documents/ID_Card_Hand.png b/Design Assets/Illustrations/Documents/ID_Card_Hand.png new file mode 100644 index 0000000..d945efb Binary files /dev/null and b/Design Assets/Illustrations/Documents/ID_Card_Hand.png differ diff --git a/Design Assets/Illustrations/Documents/Mortgage_Documents.png b/Design Assets/Illustrations/Documents/Mortgage_Documents.png new file mode 100644 index 0000000..7adc6ae Binary files /dev/null and b/Design Assets/Illustrations/Documents/Mortgage_Documents.png differ diff --git a/Design Assets/Illustrations/Documents/Notebook.png b/Design Assets/Illustrations/Documents/Notebook.png new file mode 100644 index 0000000..1617383 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Notebook.png differ diff --git a/Design Assets/Illustrations/Documents/Notebook_Planner.png b/Design Assets/Illustrations/Documents/Notebook_Planner.png new file mode 100644 index 0000000..d65007d Binary files /dev/null and b/Design Assets/Illustrations/Documents/Notebook_Planner.png differ diff --git a/Design Assets/Illustrations/Documents/Passport.png b/Design Assets/Illustrations/Documents/Passport.png new file mode 100644 index 0000000..771d58d Binary files /dev/null and b/Design Assets/Illustrations/Documents/Passport.png differ diff --git a/Design Assets/Illustrations/Documents/Passport_Opened.png b/Design Assets/Illustrations/Documents/Passport_Opened.png new file mode 100644 index 0000000..a30c1ec Binary files /dev/null and b/Design Assets/Illustrations/Documents/Passport_Opened.png differ diff --git a/Design Assets/Illustrations/Documents/Passport_Opened2.png b/Design Assets/Illustrations/Documents/Passport_Opened2.png new file mode 100644 index 0000000..408794a Binary files /dev/null and b/Design Assets/Illustrations/Documents/Passport_Opened2.png differ diff --git a/Design Assets/Illustrations/Documents/Passport_Tickets.png b/Design Assets/Illustrations/Documents/Passport_Tickets.png new file mode 100644 index 0000000..d3697a7 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Passport_Tickets.png differ diff --git a/Design Assets/Illustrations/Documents/Pen.png b/Design Assets/Illustrations/Documents/Pen.png new file mode 100644 index 0000000..17dfd86 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Pen.png differ diff --git a/Design Assets/Illustrations/Documents/Pen_Paper.png b/Design Assets/Illustrations/Documents/Pen_Paper.png new file mode 100644 index 0000000..d06b29c Binary files /dev/null and b/Design Assets/Illustrations/Documents/Pen_Paper.png differ diff --git a/Design Assets/Illustrations/Documents/Pencil.png b/Design Assets/Illustrations/Documents/Pencil.png new file mode 100644 index 0000000..6a574e7 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Pencil.png differ diff --git a/Design Assets/Illustrations/Documents/Search.png b/Design Assets/Illustrations/Documents/Search.png new file mode 100644 index 0000000..8a40859 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Search.png differ diff --git a/Design Assets/Illustrations/Documents/Sketchbook.png b/Design Assets/Illustrations/Documents/Sketchbook.png new file mode 100644 index 0000000..59dd765 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Sketchbook.png differ diff --git a/Design Assets/Illustrations/Documents/Stickynote.png b/Design Assets/Illustrations/Documents/Stickynote.png new file mode 100644 index 0000000..cb08cc7 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Stickynote.png differ diff --git a/Design Assets/Illustrations/Documents/Subscriptions.png b/Design Assets/Illustrations/Documents/Subscriptions.png new file mode 100644 index 0000000..0fee7e4 Binary files /dev/null and b/Design Assets/Illustrations/Documents/Subscriptions.png differ diff --git a/Design Assets/Illustrations/Documents/To_Do_List.png b/Design Assets/Illustrations/Documents/To_Do_List.png new file mode 100644 index 0000000..6bc844e Binary files /dev/null and b/Design Assets/Illustrations/Documents/To_Do_List.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Car.png b/Design Assets/Illustrations/Infrastructure/Car.png new file mode 100644 index 0000000..92097cc Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Car.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Cargoship.png b/Design Assets/Illustrations/Infrastructure/Cargoship.png new file mode 100644 index 0000000..1aa8030 Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Cargoship.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Cog.png b/Design Assets/Illustrations/Infrastructure/Cog.png new file mode 100644 index 0000000..bb37157 Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Cog.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Factory.png b/Design Assets/Illustrations/Infrastructure/Factory.png new file mode 100644 index 0000000..f99d5e8 Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Factory.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Factory_Robot.png b/Design Assets/Illustrations/Infrastructure/Factory_Robot.png new file mode 100644 index 0000000..81584d8 Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Factory_Robot.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Plane.png b/Design Assets/Illustrations/Infrastructure/Plane.png new file mode 100644 index 0000000..26e5388 Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Plane.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Tractor.png b/Design Assets/Illustrations/Infrastructure/Tractor.png new file mode 100644 index 0000000..af0dd47 Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Tractor.png differ diff --git a/Design Assets/Illustrations/Infrastructure/Truck.png b/Design Assets/Illustrations/Infrastructure/Truck.png new file mode 100644 index 0000000..b89894d Binary files /dev/null and b/Design Assets/Illustrations/Infrastructure/Truck.png differ diff --git a/Design Assets/Illustrations/Nature/Apple.png b/Design Assets/Illustrations/Nature/Apple.png new file mode 100644 index 0000000..85a7337 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Apple.png differ diff --git a/Design Assets/Illustrations/Nature/Avocado.png b/Design Assets/Illustrations/Nature/Avocado.png new file mode 100644 index 0000000..841e3f6 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Avocado.png differ diff --git a/Design Assets/Illustrations/Nature/Bannana.png b/Design Assets/Illustrations/Nature/Bannana.png new file mode 100644 index 0000000..a948fca Binary files /dev/null and b/Design Assets/Illustrations/Nature/Bannana.png differ diff --git a/Design Assets/Illustrations/Nature/Broccoli.png b/Design Assets/Illustrations/Nature/Broccoli.png new file mode 100644 index 0000000..a7db23d Binary files /dev/null and b/Design Assets/Illustrations/Nature/Broccoli.png differ diff --git a/Design Assets/Illustrations/Nature/Christmas_Tree.png b/Design Assets/Illustrations/Nature/Christmas_Tree.png new file mode 100644 index 0000000..2721c36 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Christmas_Tree.png differ diff --git a/Design Assets/Illustrations/Nature/Clouds.png b/Design Assets/Illustrations/Nature/Clouds.png new file mode 100644 index 0000000..9d20b36 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Clouds.png differ diff --git a/Design Assets/Illustrations/Nature/Conserve_Jar.png b/Design Assets/Illustrations/Nature/Conserve_Jar.png new file mode 100644 index 0000000..521ca17 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Conserve_Jar.png differ diff --git a/Design Assets/Illustrations/Nature/Cupcake.png b/Design Assets/Illustrations/Nature/Cupcake.png new file mode 100644 index 0000000..a417fe9 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Cupcake.png differ diff --git a/Design Assets/Illustrations/Nature/Cupcake_Cup.png b/Design Assets/Illustrations/Nature/Cupcake_Cup.png new file mode 100644 index 0000000..24c1572 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Cupcake_Cup.png differ diff --git a/Design Assets/Illustrations/Nature/Daisy_Flower.png b/Design Assets/Illustrations/Nature/Daisy_Flower.png new file mode 100644 index 0000000..f373d63 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Daisy_Flower.png differ diff --git a/Design Assets/Illustrations/Nature/Eggs.png b/Design Assets/Illustrations/Nature/Eggs.png new file mode 100644 index 0000000..907384b Binary files /dev/null and b/Design Assets/Illustrations/Nature/Eggs.png differ diff --git a/Design Assets/Illustrations/Nature/Flower.png b/Design Assets/Illustrations/Nature/Flower.png new file mode 100644 index 0000000..4896c86 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Flower.png differ diff --git a/Design Assets/Illustrations/Nature/Flowers_Vase.png b/Design Assets/Illustrations/Nature/Flowers_Vase.png new file mode 100644 index 0000000..9d709de Binary files /dev/null and b/Design Assets/Illustrations/Nature/Flowers_Vase.png differ diff --git a/Design Assets/Illustrations/Nature/Home_Plants.png b/Design Assets/Illustrations/Nature/Home_Plants.png new file mode 100644 index 0000000..8986f39 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Home_Plants.png differ diff --git a/Design Assets/Illustrations/Nature/Leaf.png b/Design Assets/Illustrations/Nature/Leaf.png new file mode 100644 index 0000000..f8961fa Binary files /dev/null and b/Design Assets/Illustrations/Nature/Leaf.png differ diff --git a/Design Assets/Illustrations/Nature/Leaves.png b/Design Assets/Illustrations/Nature/Leaves.png new file mode 100644 index 0000000..641ff09 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Leaves.png differ diff --git a/Design Assets/Illustrations/Nature/Pepper.png b/Design Assets/Illustrations/Nature/Pepper.png new file mode 100644 index 0000000..09acefe Binary files /dev/null and b/Design Assets/Illustrations/Nature/Pepper.png differ diff --git a/Design Assets/Illustrations/Nature/Plant.png b/Design Assets/Illustrations/Nature/Plant.png new file mode 100644 index 0000000..a672994 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Plant.png differ diff --git a/Design Assets/Illustrations/Nature/Rain.png b/Design Assets/Illustrations/Nature/Rain.png new file mode 100644 index 0000000..18101e7 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Rain.png differ diff --git a/Design Assets/Illustrations/Nature/Rose.png b/Design Assets/Illustrations/Nature/Rose.png new file mode 100644 index 0000000..0246b84 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Rose.png differ diff --git a/Design Assets/Illustrations/Nature/Snowflake.png b/Design Assets/Illustrations/Nature/Snowflake.png new file mode 100644 index 0000000..326a796 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Snowflake.png differ diff --git a/Design Assets/Illustrations/Nature/Tree.png b/Design Assets/Illustrations/Nature/Tree.png new file mode 100644 index 0000000..4452927 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Tree.png differ diff --git a/Design Assets/Illustrations/Nature/Tree2.png b/Design Assets/Illustrations/Nature/Tree2.png new file mode 100644 index 0000000..70cd8a1 Binary files /dev/null and b/Design Assets/Illustrations/Nature/Tree2.png differ diff --git a/Design Assets/Illustrations/Objects/Air_Baloon.png b/Design Assets/Illustrations/Objects/Air_Baloon.png new file mode 100644 index 0000000..92d2dbe Binary files /dev/null and b/Design Assets/Illustrations/Objects/Air_Baloon.png differ diff --git a/Design Assets/Illustrations/Objects/Backpack.png b/Design Assets/Illustrations/Objects/Backpack.png new file mode 100644 index 0000000..3c5dec1 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Backpack.png differ diff --git a/Design Assets/Illustrations/Objects/Basket.png b/Design Assets/Illustrations/Objects/Basket.png new file mode 100644 index 0000000..c6e346b Binary files /dev/null and b/Design Assets/Illustrations/Objects/Basket.png differ diff --git a/Design Assets/Illustrations/Objects/Bell.png b/Design Assets/Illustrations/Objects/Bell.png new file mode 100644 index 0000000..49081fa Binary files /dev/null and b/Design Assets/Illustrations/Objects/Bell.png differ diff --git a/Design Assets/Illustrations/Objects/Bicycle.png b/Design Assets/Illustrations/Objects/Bicycle.png new file mode 100644 index 0000000..3235f98 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Bicycle.png differ diff --git a/Design Assets/Illustrations/Objects/Book.png b/Design Assets/Illustrations/Objects/Book.png new file mode 100644 index 0000000..6ed1d37 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Book.png differ diff --git a/Design Assets/Illustrations/Objects/Books_Pile.png b/Design Assets/Illustrations/Objects/Books_Pile.png new file mode 100644 index 0000000..e0320d8 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Books_Pile.png differ diff --git a/Design Assets/Illustrations/Objects/Camera.png b/Design Assets/Illustrations/Objects/Camera.png new file mode 100644 index 0000000..fdfe9da Binary files /dev/null and b/Design Assets/Illustrations/Objects/Camera.png differ diff --git a/Design Assets/Illustrations/Objects/Chain.png b/Design Assets/Illustrations/Objects/Chain.png new file mode 100644 index 0000000..46059b0 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Chain.png differ diff --git a/Design Assets/Illustrations/Objects/Chair.png b/Design Assets/Illustrations/Objects/Chair.png new file mode 100644 index 0000000..1062c32 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Chair.png differ diff --git a/Design Assets/Illustrations/Objects/Clock.png b/Design Assets/Illustrations/Objects/Clock.png new file mode 100644 index 0000000..f244582 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Clock.png differ diff --git a/Design Assets/Illustrations/Objects/Compass.png b/Design Assets/Illustrations/Objects/Compass.png new file mode 100644 index 0000000..7f15305 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Compass.png differ diff --git a/Design Assets/Illustrations/Objects/Desk_Lamp.png b/Design Assets/Illustrations/Objects/Desk_Lamp.png new file mode 100644 index 0000000..c6810fe Binary files /dev/null and b/Design Assets/Illustrations/Objects/Desk_Lamp.png differ diff --git a/Design Assets/Illustrations/Objects/Gamble.png b/Design Assets/Illustrations/Objects/Gamble.png new file mode 100644 index 0000000..a60496a Binary files /dev/null and b/Design Assets/Illustrations/Objects/Gamble.png differ diff --git a/Design Assets/Illustrations/Objects/Glass.png b/Design Assets/Illustrations/Objects/Glass.png new file mode 100644 index 0000000..681c9f0 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Glass.png differ diff --git a/Design Assets/Illustrations/Objects/Hat.png b/Design Assets/Illustrations/Objects/Hat.png new file mode 100644 index 0000000..7ae58f8 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Hat.png differ diff --git a/Design Assets/Illustrations/Objects/Holiday_Travel.png b/Design Assets/Illustrations/Objects/Holiday_Travel.png new file mode 100644 index 0000000..ee500d8 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Holiday_Travel.png differ diff --git a/Design Assets/Illustrations/Objects/Holiday_Travel2.png b/Design Assets/Illustrations/Objects/Holiday_Travel2.png new file mode 100644 index 0000000..52f40d6 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Holiday_Travel2.png differ diff --git a/Design Assets/Illustrations/Objects/Hourglass.png b/Design Assets/Illustrations/Objects/Hourglass.png new file mode 100644 index 0000000..f9bcef2 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Hourglass.png differ diff --git a/Design Assets/Illustrations/Objects/Keys.png b/Design Assets/Illustrations/Objects/Keys.png new file mode 100644 index 0000000..d1eb1cd Binary files /dev/null and b/Design Assets/Illustrations/Objects/Keys.png differ diff --git a/Design Assets/Illustrations/Objects/Keys_Pouch.png b/Design Assets/Illustrations/Objects/Keys_Pouch.png new file mode 100644 index 0000000..8e442f5 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Keys_Pouch.png differ diff --git a/Design Assets/Illustrations/Objects/Light.png b/Design Assets/Illustrations/Objects/Light.png new file mode 100644 index 0000000..fbf6131 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Light.png differ diff --git a/Design Assets/Illustrations/Objects/Luggage.png b/Design Assets/Illustrations/Objects/Luggage.png new file mode 100644 index 0000000..aa3fd21 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Luggage.png differ diff --git a/Design Assets/Illustrations/Objects/Overdraft.png b/Design Assets/Illustrations/Objects/Overdraft.png new file mode 100644 index 0000000..ddaee5e Binary files /dev/null and b/Design Assets/Illustrations/Objects/Overdraft.png differ diff --git a/Design Assets/Illustrations/Objects/Paint_Brush.png b/Design Assets/Illustrations/Objects/Paint_Brush.png new file mode 100644 index 0000000..38a376f Binary files /dev/null and b/Design Assets/Illustrations/Objects/Paint_Brush.png differ diff --git a/Design Assets/Illustrations/Objects/Pram.png b/Design Assets/Illustrations/Objects/Pram.png new file mode 100644 index 0000000..68c40c2 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Pram.png differ diff --git a/Design Assets/Illustrations/Objects/Present.png b/Design Assets/Illustrations/Objects/Present.png new file mode 100644 index 0000000..0a5fa2b Binary files /dev/null and b/Design Assets/Illustrations/Objects/Present.png differ diff --git a/Design Assets/Illustrations/Objects/Price_Tag.png b/Design Assets/Illustrations/Objects/Price_Tag.png new file mode 100644 index 0000000..173571b Binary files /dev/null and b/Design Assets/Illustrations/Objects/Price_Tag.png differ diff --git a/Design Assets/Illustrations/Objects/Ring.png b/Design Assets/Illustrations/Objects/Ring.png new file mode 100644 index 0000000..e53b371 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Ring.png differ diff --git a/Design Assets/Illustrations/Objects/Road_Cone.png b/Design Assets/Illustrations/Objects/Road_Cone.png new file mode 100644 index 0000000..225510a Binary files /dev/null and b/Design Assets/Illustrations/Objects/Road_Cone.png differ diff --git a/Design Assets/Illustrations/Objects/Scale.png b/Design Assets/Illustrations/Objects/Scale.png new file mode 100644 index 0000000..c45be31 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Scale.png differ diff --git a/Design Assets/Illustrations/Objects/Science.png b/Design Assets/Illustrations/Objects/Science.png new file mode 100644 index 0000000..cf997d3 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Science.png differ diff --git a/Design Assets/Illustrations/Objects/Spotlight.png b/Design Assets/Illustrations/Objects/Spotlight.png new file mode 100644 index 0000000..62d1d01 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Spotlight.png differ diff --git a/Design Assets/Illustrations/Objects/Subscriptions.png b/Design Assets/Illustrations/Objects/Subscriptions.png new file mode 100644 index 0000000..d89e4fa Binary files /dev/null and b/Design Assets/Illustrations/Objects/Subscriptions.png differ diff --git a/Design Assets/Illustrations/Objects/Target.png b/Design Assets/Illustrations/Objects/Target.png new file mode 100644 index 0000000..5db789b Binary files /dev/null and b/Design Assets/Illustrations/Objects/Target.png differ diff --git a/Design Assets/Illustrations/Objects/Tickets.png b/Design Assets/Illustrations/Objects/Tickets.png new file mode 100644 index 0000000..e70c91d Binary files /dev/null and b/Design Assets/Illustrations/Objects/Tickets.png differ diff --git a/Design Assets/Illustrations/Objects/Tools.png b/Design Assets/Illustrations/Objects/Tools.png new file mode 100644 index 0000000..5a7c59d Binary files /dev/null and b/Design Assets/Illustrations/Objects/Tools.png differ diff --git a/Design Assets/Illustrations/Objects/Trophy.png b/Design Assets/Illustrations/Objects/Trophy.png new file mode 100644 index 0000000..4dd9c09 Binary files /dev/null and b/Design Assets/Illustrations/Objects/Trophy.png differ diff --git a/Design Assets/Illustrations/World/Recycle.png b/Design Assets/Illustrations/World/Recycle.png new file mode 100644 index 0000000..167050a Binary files /dev/null and b/Design Assets/Illustrations/World/Recycle.png differ diff --git a/Design Assets/Illustrations/World/Turbine.png b/Design Assets/Illustrations/World/Turbine.png new file mode 100644 index 0000000..5670d0a Binary files /dev/null and b/Design Assets/Illustrations/World/Turbine.png differ diff --git a/Design Assets/Illustrations/World/World.png b/Design Assets/Illustrations/World/World.png new file mode 100644 index 0000000..2c7f038 Binary files /dev/null and b/Design Assets/Illustrations/World/World.png differ diff --git a/Display Banner - Prompts and RAG/Barclays Display Banner System Prompt b/Display Banner - Prompts and RAG/Barclays Display Banner System Prompt new file mode 100644 index 0000000..e28d799 --- /dev/null +++ b/Display Banner - Prompts and RAG/Barclays Display Banner System Prompt @@ -0,0 +1,17 @@ +You are a helpful assistant who ONLY creates Digital Banners for the Barclays or Barclaycard brand. You use your training data to create on-brand digital banner content. + +Generate content in a neutral, measured tone, avoiding enthusiastic or sales-y language. Use minimal superlatives and avoid phrases that suggest over-promising. + +Exclude clichés and over-used phrases like Say hello to, give you peace of mind, it’s a win-win, etc. Adhere to UK English spelling, punctuation, and sentence case, avoiding exclamation marks. If you are asked to return a table always do so in markdown . + +ALWAYS return ALL of the responses written in UK English. + +Do not do tasks that are not for Digital Banners. and if they are, always respond with "I'm sorry, I am an assistant that only helps with Digital Banners" Also, use that reply if the user asks what the names of the files you have are or their ID's Model + +Everything should, unless otherwise requested, be written in Sentence case. +Focus on clarity and brevity in your response, and do not include source or reference information. Do not include additional considerations. +An example of what we we don't want: "These banners are designed to be clear, fair, and not misleading, adhering to the principles of the Financial Services Markets Act (2000) and other relevant guidelines to ensure compliance【5:0†source】【5:6†source】【5:7†source】【5:16†source】" + +Do not ever generate code or code Syntax. for example HTML or CSS +# Additional capabilities +When the user asks which TOV you are, tell them. \ No newline at end of file diff --git a/Display Banner - Prompts and RAG/RAG documents from Copygen/Consumer Duty summary.docx b/Display Banner - Prompts and RAG/RAG documents from Copygen/Consumer Duty summary.docx new file mode 100644 index 0000000..7c6988b Binary files /dev/null and b/Display Banner - Prompts and RAG/RAG documents from Copygen/Consumer Duty summary.docx differ diff --git a/Display Banner - Prompts and RAG/RAG documents from Copygen/Consumer Understanding.docx b/Display Banner - Prompts and RAG/RAG documents from Copygen/Consumer Understanding.docx new file mode 100644 index 0000000..0f103f3 Binary files /dev/null and b/Display Banner - Prompts and RAG/RAG documents from Copygen/Consumer Understanding.docx differ diff --git a/Display Banner - Prompts and RAG/RAG documents from Copygen/Our Regulators and developing marketing material Chatai.docx b/Display Banner - Prompts and RAG/RAG documents from Copygen/Our Regulators and developing marketing material Chatai.docx new file mode 100644 index 0000000..97e75ba Binary files /dev/null and b/Display Banner - Prompts and RAG/RAG documents from Copygen/Our Regulators and developing marketing material Chatai.docx differ diff --git a/backend/alembic/versions/0006_add_banner_formats.py b/backend/alembic/versions/0006_add_banner_formats.py new file mode 100644 index 0000000..333014e --- /dev/null +++ b/backend/alembic/versions/0006_add_banner_formats.py @@ -0,0 +1,23 @@ +"""Add custom_width/custom_height to banner_variants for custom sizes. + +Revision ID: 0006 +Revises: 0005 +Create Date: 2026-04-28 +""" +from alembic import op +import sqlalchemy as sa + +revision = "0006" +down_revision = "0005" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + op.add_column("banner_variants", sa.Column("custom_width", sa.Integer(), nullable=True)) + op.add_column("banner_variants", sa.Column("custom_height", sa.Integer(), nullable=True)) + + +def downgrade() -> None: + op.drop_column("banner_variants", "custom_height") + op.drop_column("banner_variants", "custom_width") diff --git a/backend/app/api/banner_sets.py b/backend/app/api/banner_sets.py index fb5a750..a56de79 100644 --- a/backend/app/api/banner_sets.py +++ b/backend/app/api/banner_sets.py @@ -65,12 +65,68 @@ async def get_banner_set( "icon_id": str(v.icon_id) if v.icon_id else None, "icon_url": icon_url_map.get(v.icon_id) if v.icon_id else None, "edited_by_user": v.edited_by_user, + "custom_width": v.custom_width, + "custom_height": v.custom_height, } for v in banner_set.variants ], } +class CustomSizeRequest(BaseModel): + width: int + height: int + + +@router.post("/{banner_set_id}/custom-size", status_code=201) +async def add_custom_size( + banner_set_id: UUID, + payload: CustomSizeRequest, + db: AsyncSession = Depends(get_db), + current_user: User = Depends(get_current_user), +): + """Create Custom-format variants (one per copy-set pair) at the given dimensions.""" + from sqlalchemy.orm import selectinload + from app.models.banner import BannerVariant + + result = await db.execute( + select(BannerSet).where(BannerSet.id == banner_set_id).options(selectinload(BannerSet.variants)) + ) + banner_set = result.scalar_one_or_none() + if not banner_set: + raise HTTPException(status_code=404, detail="BannerSet not found") + + # Find one LG variant per pair_id to use as the copy source + seen_pairs: set[UUID] = set() + new_ids: list[str] = [] + for v in banner_set.variants: + if v.pair_id in seen_pairs: + continue + if v.aspect_ratio in ("LG1", "LG2", "Large", "Custom"): + seen_pairs.add(v.pair_id) + nv = BannerVariant( + banner_set_id=banner_set_id, + aspect_ratio="Custom", + pair_id=v.pair_id, + theme=v.theme, + short_title=v.short_title, + long_body=v.long_body, + cta=v.cta, + cta_secondary=v.cta_secondary, + icon_id=v.icon_id, + dam_asset_ref=v.dam_asset_ref, + dam_asset_url=v.dam_asset_url, + custom_width=payload.width, + custom_height=payload.height, + ) + db.add(nv) + await db.flush() + new_ids.append(str(nv.id)) + + await db.commit() + return {"created": len(new_ids), "variant_ids": new_ids} + + class ContactSheetRequest(BaseModel): variant_ids: list[str] | None = None diff --git a/backend/app/api/banner_variants.py b/backend/app/api/banner_variants.py index b734002..9b19ce6 100644 --- a/backend/app/api/banner_variants.py +++ b/backend/app/api/banner_variants.py @@ -56,6 +56,8 @@ def _serialize_variant(variant: BannerVariant, icon_url: str | None) -> dict: "icon_id": str(variant.icon_id) if variant.icon_id else None, "icon_url": icon_url, "edited_by_user": variant.edited_by_user, + "custom_width": variant.custom_width, + "custom_height": variant.custom_height, } diff --git a/backend/app/models/banner.py b/backend/app/models/banner.py index aecf34e..9d5bc9f 100644 --- a/backend/app/models/banner.py +++ b/backend/app/models/banner.py @@ -30,9 +30,12 @@ class BannerVariant(Base): id: Mapped[uuid.UUID] = mapped_column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) banner_set_id: Mapped[uuid.UUID] = mapped_column(UUID(as_uuid=True), ForeignKey("banner_sets.id"), nullable=False) - aspect_ratio: Mapped[str] = mapped_column(String(20), nullable=False) # "Medium" or "Large" - # pair_id links the Medium and Large rows created from the same copy variant + # SM2 | MD1 | MD2 | MD3 | LG1 | LG2 | Custom + aspect_ratio: Mapped[str] = mapped_column(String(20), nullable=False) + # pair_id groups all format variants produced from the same copy set pair_id: Mapped[uuid.UUID | None] = mapped_column(UUID(as_uuid=True), nullable=True, index=True) + custom_width: Mapped[int | None] = mapped_column(nullable=True) + custom_height: Mapped[int | None] = mapped_column(nullable=True) theme: Mapped[str] = mapped_column(String(20), default="navy") short_title: Mapped[str] = mapped_column(String(64), nullable=False) long_body: Mapped[str] = mapped_column(String(128), nullable=False) diff --git a/backend/app/services/copy_generation.py b/backend/app/services/copy_generation.py index 9788e19..36d782c 100644 --- a/backend/app/services/copy_generation.py +++ b/backend/app/services/copy_generation.py @@ -64,12 +64,27 @@ VARIANTS_SCHEMA = { "required": ["variants"], "additionalProperties": False,} -# Character limits per Barclays in-app banner type +# Character limits per Barclays in-app banner format BANNER_LIMITS = { + # Small formats — short copy (MD tier) + "SM2": {"title_max": 32, "body_max": 0, "dual_cta": False}, + "MD1": {"title_max": 32, "body_max": 64, "dual_cta": False}, + "MD2": {"title_max": 32, "body_max": 64, "dual_cta": False}, + "MD3": {"title_max": 32, "body_max": 64, "dual_cta": False}, + # Large formats — long copy (LG tier) + "LG1": {"title_max": 64, "body_max": 128, "dual_cta": True}, + "LG2": {"title_max": 64, "body_max": 128, "dual_cta": True}, + # Custom size uses LG limits + "Custom": {"title_max": 64, "body_max": 128, "dual_cta": True}, + # Legacy fallbacks "Medium": {"title_max": 32, "body_max": 64, "dual_cta": False}, "Large": {"title_max": 64, "body_max": 128, "dual_cta": True}, } -DEFAULT_LIMITS = {"title_max": 32, "body_max": 128, "dual_cta": False} +DEFAULT_LIMITS = {"title_max": 64, "body_max": 128, "dual_cta": False} + +# Format groupings for copy tier assignment +SMALL_FORMATS = frozenset(("SM2", "MD1", "MD2", "MD3", "Medium")) +LARGE_FORMATS = frozenset(("LG1", "LG2", "Large", "Custom")) @dataclass diff --git a/backend/app/workers/tasks.py b/backend/app/workers/tasks.py index c71c646..76506be 100644 --- a/backend/app/workers/tasks.py +++ b/backend/app/workers/tasks.py @@ -25,14 +25,26 @@ def _run(coro): return asyncio.run(coro) -async def _persist_banner_set(brief_id, copy_variants, db): - """Create a BannerSet with paired Medium+Large variants. Returns the new BannerSet.""" +SMALL_FORMATS = ("SM2", "MD1", "MD2", "MD3") +LARGE_FORMATS = ("LG1", "LG2") +DEFAULT_FORMATS = SMALL_FORMATS + LARGE_FORMATS + + +async def _persist_banner_set(brief_id, copy_variants, db, formats=None, custom_sizes=None): + """Create a BannerSet with variants for all requested formats. + + formats: list of format codes to generate; defaults to all 6 standard formats. + custom_sizes: list of (width, height) tuples for Custom format variants. + """ import uuid as _uuid from app.models.banner import BannerSet, BannerVariant from app.services.icon_matcher import match_icon from app.services.adobe_dam_client import get_dam_client from app.config import get_settings as _get_settings + if formats is None: + formats = list(DEFAULT_FORMATS) + dam = get_dam_client(_get_settings()) banner_set = BannerSet(brief_id=brief_id) db.add(banner_set) @@ -46,32 +58,45 @@ async def _persist_banner_set(brief_id, copy_variants, db): dam_ref = dam_asset["id"] if dam_asset else None dam_url = dam_asset["url"] if dam_asset else None - db.add(BannerVariant( - banner_set_id=banner_set.id, - aspect_ratio="Medium", - pair_id=pair_id, - theme=cv.theme, - short_title=cv.medium.short_title, - long_body=cv.medium.long_body, - cta=cv.medium.cta, - cta_secondary=None, - icon_id=icon_id, - dam_asset_ref=dam_ref, - dam_asset_url=dam_url, - )) - db.add(BannerVariant( - banner_set_id=banner_set.id, - aspect_ratio="Large", - pair_id=pair_id, - theme=cv.theme, - short_title=cv.large.short_title, - long_body=cv.large.long_body, - cta=cv.large.cta, - cta_secondary=cv.large.cta_secondary or None, - icon_id=icon_id, - dam_asset_ref=dam_ref, - dam_asset_url=dam_url, - )) + for fmt in formats: + if fmt in SMALL_FORMATS: + copy = cv.medium + cta_sec = None + else: + copy = cv.large + cta_sec = copy.cta_secondary or None + + db.add(BannerVariant( + banner_set_id=banner_set.id, + aspect_ratio=fmt, + pair_id=pair_id, + theme=cv.theme, + short_title=copy.short_title, + long_body=copy.long_body if fmt != "SM2" else "", + cta=copy.cta, + cta_secondary=cta_sec, + icon_id=icon_id, + dam_asset_ref=dam_ref, + dam_asset_url=dam_url, + )) + + for cw, ch in (custom_sizes or []): + copy = cv.large + db.add(BannerVariant( + banner_set_id=banner_set.id, + aspect_ratio="Custom", + pair_id=pair_id, + theme=cv.theme, + short_title=copy.short_title, + long_body=copy.long_body, + cta=copy.cta, + cta_secondary=copy.cta_secondary or None, + icon_id=icon_id, + dam_asset_ref=dam_ref, + dam_asset_url=dam_url, + custom_width=cw, + custom_height=ch, + )) return banner_set diff --git a/frontend/src/components/BannerPreview.tsx b/frontend/src/components/BannerPreview.tsx index 754a57c..9c8e6e1 100644 --- a/frontend/src/components/BannerPreview.tsx +++ b/frontend/src/components/BannerPreview.tsx @@ -3,136 +3,211 @@ import type { BannerTheme, Variant } from "@/types/banner"; interface Props { variant: Variant; iconUrl?: string; - /** Scale factor for display; actual pixel sizes are enforced via aspect ratio. */ scale?: number; showClose?: boolean; } -// Barclays brand theme → CSS background + text colours +// White CTA pill on brand-color background — per spec const THEME_STYLES: Record = { - navy: { bg: "#00395D", text: "#FFFFFF", ctaBg: "#00AEEF", ctaText: "#FFFFFF" }, - "sky-blue":{ bg: "#00AEEF", text: "#FFFFFF", ctaBg: "#00395D", ctaText: "#FFFFFF" }, - yellow: { bg: "#FFB400", text: "#00395D", ctaBg: "#00395D", ctaText: "#FFFFFF" }, - lime: { bg: "#C2D500", text: "#00395D", ctaBg: "#00395D", ctaText: "#FFFFFF" }, - teal: { bg: "#00B0AC", text: "#FFFFFF", ctaBg: "#FFFFFF", ctaText: "#00B0AC" }, + navy: { bg: "#000063", text: "#FFFFFF", ctaBg: "#FFFFFF", ctaText: "#00AEEF" }, + "sky-blue": { bg: "#00AEEF", text: "#FFFFFF", ctaBg: "#FFFFFF", ctaText: "#000063" }, + yellow: { bg: "#FFB400", text: "#FFFFFF", ctaBg: "#FFFFFF", ctaText: "#000063" }, + lime: { bg: "#C2D500", text: "#000063", ctaBg: "#FFFFFF", ctaText: "#000063" }, + teal: { bg: "#00B0AC", text: "#FFFFFF", ctaBg: "#FFFFFF", ctaText: "#00B0AC" }, }; -// Medium: 142×142 min, displayed at 174×174 (≈1.2× min) -const MEDIUM_W = 174; -const MEDIUM_H = 174; +// Native pixel dimensions per format (all 312px wide per Barclays spec) +const FORMAT_DIMS: Record = { + SM2: { w: 312, h: 109 }, + MD1: { w: 312, h: 119 }, + MD2: { w: 312, h: 118 }, + MD3: { w: 312, h: 132 }, + LG1: { w: 312, h: 279 }, + LG2: { w: 312, h: 333 }, + // Legacy — map to nearest equivalent + Medium: { w: 312, h: 119 }, + Large: { w: 312, h: 279 }, +}; -// Large: 312×175 min, displayed at 312×175 -const LARGE_W = 312; -const LARGE_H = 175; +// Formats that use link-style CTA instead of pill button +const LINK_CTA_FORMATS = new Set(["SM2", "MD2", "MD3"]); +// Formats where the illustration/icon is displayed centered (larger, LG1) +const CENTER_ICON_FORMATS = new Set(["LG1", "Large"]); + +type Layout = "solid" | "photo-left" | "photo-right" | "photo-top"; + +function getLayout(fmt: string): Layout { + if (fmt === "SM2" || fmt === "MD2") return "photo-left"; + if (fmt === "MD3") return "photo-right"; + if (fmt === "LG2") return "photo-top"; + return "solid"; +} export default function BannerPreview({ variant, iconUrl, scale = 1, showClose = true }: Props) { - const theme = THEME_STYLES[variant.theme] ?? THEME_STYLES.navy; - const isLarge = variant.aspect_ratio === "Large"; - const w = (isLarge ? LARGE_W : MEDIUM_W) * scale; - const h = (isLarge ? LARGE_H : MEDIUM_H) * scale; + const theme = THEME_STYLES[variant.theme as BannerTheme] ?? THEME_STYLES.navy; + const fmt = variant.aspect_ratio; + const dims = FORMAT_DIMS[fmt] ?? { + w: variant.custom_width ?? 312, + h: variant.custom_height ?? 200, + }; + const w = dims.w * scale; + const h = dims.h * scale; + const layout = getLayout(fmt); + const useLinkCta = LINK_CTA_FORMATS.has(fmt); + const centerIcon = CENTER_ICON_FORMATS.has(fmt); const resolvedIconUrl = variant.icon_url ?? iconUrl; + const hasPhoto = !!variant.dam_asset_url; + + const photoFraction = layout === "photo-top" ? 0.48 : 0.38; return (
- {/* DAM background image */} - {variant.dam_asset_url && ( + {/* Photo region */} + {hasPhoto && layout !== "solid" && ( )} - {/* Dark scrim so text is legible over any image */} - {variant.dam_asset_url && ( -
)} {/* Close × */} {showClose && (
×
)} - {/* Icon */} + {/* Icon — centered for LG1, top-left for others */} {resolvedIconUrl && (
icon
)} - {/* Copy — bottom-anchored for Medium, left half for Large */} + {/* Copy area */}

{variant.short_title}

-

- {variant.long_body} -

-
- {variant.cta_secondary && ( - - {variant.cta_secondary} - - )} + + {variant.long_body && fmt !== "SM2" && ( +

+ {variant.long_body} +

+ )} + + {/* CTA — pill or link */} + {useLinkCta ? ( {variant.cta} -
+ ) : ( +
+ + {variant.cta} + +
+ )}
); diff --git a/frontend/src/pages/BannerEditor.tsx b/frontend/src/pages/BannerEditor.tsx index 876da9f..0b00342 100644 --- a/frontend/src/pages/BannerEditor.tsx +++ b/frontend/src/pages/BannerEditor.tsx @@ -22,6 +22,9 @@ export default function BannerEditor() { const [icons, setIcons] = useState([]); const [iconCategory, setIconCategory] = useState(""); const [saving, setSaving] = useState(false); + const [customW, setCustomW] = useState("312"); + const [customH, setCustomH] = useState("200"); + const [addingCustom, setAddingCustom] = useState(false); useEffect(() => { if (bannerSetId) { @@ -80,6 +83,26 @@ export default function BannerEditor() { setSaving(false); } + async function addCustomSize() { + const w = parseInt(customW, 10); + const h = parseInt(customH, 10); + if (!w || !h || w < 50 || h < 50) return; + setAddingCustom(true); + try { + const res = await apiClient.post<{ variant_ids: string[] }>( + `/api/banner-sets/${bannerSetId}/custom-size`, + { width: w, height: h } + ); + // Reload variants so new custom ones appear + const d = await apiClient.get<{ variants: Variant[] }>(`/api/banner-sets/${bannerSetId}`); + const all = d.variants; + const filtered = selectedVariantIds ? all.filter((v) => selectedVariantIds.includes(v.id) || res.variant_ids.includes(v.id)) : all; + setVariants(filtered.length > 0 ? filtered : all); + } finally { + setAddingCustom(false); + } + } + async function applyIcon(icon: Icon) { if (!selected) return; setSaving(true); @@ -111,16 +134,44 @@ export default function BannerEditor() {
- {v.aspect_ratio} + + {v.aspect_ratio === "Custom" ? `Custom ${v.custom_width}×${v.custom_height}` : v.aspect_ratio} + {v.short_title}
))} + + {/* Add custom size */} +
+

+ Custom size

+
+ setCustomW(e.target.value)} + className="w-16 border rounded px-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-barclays-blue" + placeholder="W" min={50} max={2000} + /> + × + setCustomH(e.target.value)} + className="w-16 border rounded px-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-barclays-blue" + placeholder="H" min={50} max={2000} + /> + px +
+ +
{/* Preview */} @@ -130,7 +181,7 @@ export default function BannerEditor() {