[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"project-kernel":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"tags":10,"body":15,"_type":102,"_id":103,"_source":104,"_file":105,"_stem":106,"_extension":107,"sitemap":108},"/project/kernel","project",false,"","Kernel internship","Kernel is part of a bigger marketing company. It's the part of the company specialized in automating marketing (using AI, before it was cool). My internship assigned was creating automatisation for Google shopping ads. This included using Google API's to create a merchant account, confirming they owned the domain of that account using their DNS, and converting CVS files of common shopping websites like Shopify to a format supported by Google shopping.",[11,12,13,14],".NET","Angular","CQRS","Google APIs",{"type":16,"children":17,"toc":98},"root",[18,26,31,35,42,88],{"type":19,"tag":20,"props":21,"children":23},"element","h1",{"id":22},"kernel-internship",[24],{"type":25,"value":8},"text",{"type":19,"tag":27,"props":28,"children":29},"p",{},[30],{"type":25,"value":9},{"type":19,"tag":32,"props":33,"children":34},"tags",{},[],{"type":19,"tag":36,"props":37,"children":39},"h2",{"id":38},"technical-details",[40],{"type":25,"value":41},"Technical details",{"type":19,"tag":43,"props":44,"children":45},"ul",{},[46,58,68,78],{"type":19,"tag":47,"props":48,"children":49},"li",{},[50,56],{"type":19,"tag":51,"props":52,"children":53},"strong",{},[54],{"type":25,"value":55},".NET for the backend:",{"type":25,"value":57}," The company used Microsoft everything, so .NET/Azure and more.",{"type":19,"tag":47,"props":59,"children":60},{},[61,66],{"type":19,"tag":51,"props":62,"children":63},{},[64],{"type":25,"value":65},"Angular for the frontend:",{"type":25,"value":67}," Their frontend was made in Angular, here I had to add a user friendly module to create their Merchant account and automatically convert their shop to Google shopping ads.",{"type":19,"tag":47,"props":69,"children":70},{},[71,76],{"type":19,"tag":51,"props":72,"children":73},{},[74],{"type":25,"value":75},"CQRS in the backend:",{"type":25,"value":77}," The backend followed the CQRS pattern (Command Query Responsibility Segregation), meaning the backend service I made was split between read and write commands.",{"type":19,"tag":47,"props":79,"children":80},{},[81,86],{"type":19,"tag":51,"props":82,"children":83},{},[84],{"type":25,"value":85},"Google APIs:",{"type":25,"value":87}," A bunch of Google APIs were used for interacting with Google Shopping, including creating a merchant account, managing the Google shopping feed, and ads, and confirming the domain used for the merchant account using their DNS.",{"type":19,"tag":89,"props":90,"children":92},"link-button",{"href":91},"https://www.youtube.com/watch?v=pESf-Lvvyhk",[93],{"type":19,"tag":27,"props":94,"children":95},{},[96],{"type":25,"value":97},"Demo video",{"title":7,"searchDepth":99,"depth":99,"links":100},2,[101],{"id":38,"depth":99,"text":41},"markdown","content:project:kernel.md","content","project/kernel.md","project/kernel","md",{"loc":4},1737552096603]