#4 - Wrapping up NYP, start GH.
New York Pizza would get its new release today. So this week was all about getting it bullet proof for the release, fixing some bugs which after some research you find out it is a back-end problem, which is out of our hands. This went on up to Wednesday, when all the tickets were as good as finished and the app thoroughly tested, I got my first assignment for the new project of Google Home. The assignment was basically making a page completely like the design. And what makes this app really cool are the animations, the animations are over the moon! And then the week was over, learned a lot about best practices and how the code works through some complex components and the basic structure itself. NE: New York Pizza zou vandaag zijn nieuwe release krijgen. Dus deze week stond helemaal in het teken van kogelvrij maken voor de release, het repareren van enkele bugs waarvan je na enig onderzoek ontdekt dat het een back-end probleem is, waar wij geen beheer in hebben. Dit ging door tot woensdag, toen alle tickets zo goed als klaar waren en de app grondig getest was, kreeg ik mijn eerste opdracht voor het nieuwe project van Google Home. De opdracht was eigenlijk om een ​​pagina helemaal naar het ontwerp te maken. En wat deze app echt cool maakt, zijn de animaties, de animaties zijn in de wolken! En toen was de week alweer voorbij, ik heb weer eens veel geleerd over onder andere best practices en hoe de code werkt bij enkele complexe componenten en de basisstructuur zelf.

#3 - Shimmer and tickets, NYP.
This is third week and this has been very interesting as well. I finished the shimmer animation on the first two days. I had it first just implemented separately in one component, when I got the animation and the gradient right, I made it dynamic. I put the shimmer in it's own component and like that I could place it everywhere where it needs to be initiated. Though I had a bit of trouble at startup of the app with this animation, because it didn't want to start smoothly. And I asked, but the guys didn't know it either so eventually my colleague asked, do you use the useNativeDriver. My first thought was, yes, of course. That's the most important thing of an animation I recently read. But he said, well, let's check to be sure. And well well, I forgot to implement it, I assumed I had done, but I had not. Couple of hours well spent haha. But the animation works real smooth now, fixed some comments on this code in the following days and comments on other tickets as well. The rest of the week I mostly fixed small issues, like text changes and small bug fixes. The animation was the biggest thing and it's really cool that I actually made that from scratch. I believe the next release of NYP will come out next week or so and I have a lot of small tickets to get through, which I don't mind, because I get all the more familiar on the whereabouts of things in the app. Really interesting week, I learn a lot by the comments on my code and I can't wait what big things are ahead of me. NE: Dit is de derde week en dit was ook erg interessant. Ik was klaar met de shimmer-animatie binnen de eerste twee dagen. Ik had het eerst in in één component geïmplementeerd afzonderlijk, toen ik de animatie en het verloop goed kreeg, maakte ik het dynamisch. Ik stopte de animatie in zijn eigen component en zo kon ik hem overal plaatsen waar hij moest worden geïnitieerd. Ik had wel een beetje problemen had bij het opstarten van de app met deze animatie, omdat deze niet soepel wilde beginnen. En ik vroeg hoe ik het moest oplossen, maar de jongens wisten het ook niet, dus uiteindelijk vroeg mijn collega, gebruik je de useNativeDriver. Mijn eerste gedachte was, ja, natuurlijk. Dat is het belangrijkste van een animatie had ik onlangs gelezen. Maar hij zei, wel, laten we het controleren voor de zekerheid. En natuurlijk, ik vergat het te implementeren, ik nam aan dat ik het had gedaan, maar dat had ik niet gedaan. Een paar uur goed besteed haha. Maar de animatie werkt nu erg soepel, corrigeerde enkele opmerkingen over deze code in de volgende dagen en opmerkingen over andere tickets. De rest van de week heb ik vooral kleine problemen opgelost, zoals tekstwijzigingen en kleine bugfixes. De animatie was het grootste en het is echt gaaf dat ik dat helemaal vanaf het begin heb gemaakt. Ik geloof dat de volgende release van NYP volgende week uitkomt of zo en ik heb veel kleine tickets om door te komen, wat ik niet erg vind, omdat ik des te bekender wordt over de plekken van dingen in de app. Echt een interessante week weer, ik leer veel van de reacties op mijn code en ik kan niet wachten welke grote dingen voor me liggen.

#2 - Tickets and animations, NYP.
In this week I worked on quite some tickets. Tickets are basically all the features and bugs that need to be handled. One ticket was that the number of products didn't match the items in the cart on checkout. Which is critical, but eventually rather simply fixed. How it initially was counted was through .length on the array with all the products. But each element/item has an amount, which wasn't being counted with the .length and therefore you get a wrong number. I fixed it by using the reduce helper, which iterates over the array and returns an integer, in this .reduce I counted the amount on top of the initial value which is 0 by default. Another ticket was to have the ability to choose your discount in the cart. Whether you want discount with Coupon or VIPCard number. So when you click on a button, it opens up a modal which shows two menu items. One which shows the coupon form and the other which shows the VIPCard number form. And if you've an active coupon, the form should replace itself with the list of active coupons and below that have a button for an option to activate more coupons. Same goes for the VIPCard number, only there you won't have the ability to choose another VIPCard number. This was an interesting ticket in which I learned a lot, like nested ternaries, redux selectors a bit, hooks, functional components, good use of lifecycle for performance and just the code structure overall. This was as good as finished at the end of the day of Thursday, on which they assigned me an animation assignment for Friday, for me to make a shimmer animation for the skeleton. And animations is totally new for me, so that should be fun. This is also which I spent all my Friday afternoon on. On the morning of Friday my colleague went through my code of the coupon and VIPCard code and told me where code could be more optimized, which is was interesting and good to know. So I changed this and then the week was over. Again a very productive and interesting week. NE: In deze week heb ik aan nogal wat tickets gewerkt. Tickets zijn eigenlijk alle functies en bugs die moeten worden afgehandeld. Eén ticket was dat het aantal producten niet overeenkwamen met de items in de winkelwagen bij het afrekenen. Dat is cruciaal, maar uiteindelijk tamelijk eenvoudig opgelost. Hoe het aanvankelijk werd geteld was door .lengte op de array met alle producten. Maar elk element / item heeft een hoeveelheid, die niet werd geteld met de .lengte en daarom krijg je een verkeerd nummer. Ik repareerde het met behulp van de reductie-helper, die over de array itereert en een geheel getal retourneert, in deze .reduce telde ik het bedrag bovenop de initiële waarde die standaard 0 is. Een ander ticket was om je korting in de winkelwagen te kunnen kiezen. Of je nu korting met coupon of VIPCard-nummer wilt. Dus wanneer je op een knop klikt, wordt een modaal geopend met twee menu-items. Een die het couponformulier toont en de andere die het VIPCard-nummer toont. En als je een actieve kortingsbon hebt, moet het formulier zichzelf vervangen met de lijst met actieve kortingsbonnen en daaronder een knop voor een optie om meer kortingsbonnen te activeren. Hetzelfde geldt voor het VIPCard-nummer, alleen daar kun je geen ander VIPCard-nummer kiezen. Dit was een interessant ticket waarin ik veel heb geleerd, zoals nested ternaries, een beetje redux-selectors, hooks, functionele componenten, goed gebruik van de levenscyclus voor performance en de codestructuur in het algemeen. Dit was zo goed als klaar aan het einde van de dag van donderdag, waarop ze me een animatie opdracht gaven voor vrijdag, voor mij om een shimmer animatie voor het skeleton te maken. En animaties zijn helemaal nieuw voor mij, dus dat zou leuk moeten zijn. Dit is ook waar ik mijn hele vrijdagmiddag aan heb besteed. Op de ochtend van vrijdag nam mijn collega mijn code van de coupon en VIPCard-code door en vertelde me waar de code beter kon worden geoptimaliseerd, wat interessant en goed was om te weten. Dus ik veranderde dit en toen was de week voorbij. Wederom een ​​zeer productieve en interessante week.

#1 - Start up, NYP.
On monday I got to meet all my colleagues and helped my teamleader set me up on the iMac. My team exist out of 4 people, me included. One of them works a lot on another project so I don't see him a lot. One is an English man and the other is Irish. In the room where I work there are two other teams besides our team of React-Native, like Android and IOS. Half of them are Dutch, 3 Russians, one is from Greece and the others I don't know. The whole Monday was about installing the software and logging into the right websites in order for me to get to work. On Tuesday I got the time to spit into the code of the project I worked on this week, the app of New York Pizza. I got some minor assignments on Tuesday and Wednesday in order for me to get to know the structure of the project. Assignments like changing some text and some styling. On Thursday and Friday I got two bigger assignments. One of these two is the option to delete pizza slices on the double tasty and four tasty pages. The other one is showing more details in the cart where the order items display. I ask a lot, it's way harder than I initially thought it would be. Morely because of the insanely complex structure of the project and code, atleast in comparison to what I'm used to it's insanely complex. But I've learned a lot already, also like working on a iMac for the first time. So it has been a very productive and interesting first week. NE: Maandag ontmoette ik al mijn collega's en hielp mijn teamleider me met het opzetten van de iMac. Mijn team bestaat uit 4 personen, inclusief mijzelf. Een van hen werkt veel aan een ander project, dus ik zie hem niet veel. De ene is een Engelse man en de andere is Iers. In de kamer waar ik werk zijn er naast ons team van React-Native twee andere teams, zoals Android en IOS. De helft is Nederlands, 3 Russen, de ene komt uit Griekenland en de andere weet ik niet. De hele maandag ging over het installeren van de software en het inloggen op de juiste websites zodat ik aan het werk kon. Op dinsdag kreeg ik de tijd om in de code van het project te doorkijken waaraan ik deze week werkte, de app van New York Pizza. Ik kreeg een aantal kleine opdrachten op dinsdag en woensdag om de structuur van het project te leren kennen. Opdrachten zoals het wijzigen van wat tekst en wat styling. Op donderdag en vrijdag kreeg ik twee grotere opdrachten. Een van deze twee is de optie om pizza punten op de double tasty en four tasty pagina's te verwijderen. De andere toont meer details in de winkelwagen waar de orderitems worden weergegeven. Ik vraag veel, het is veel moeilijker dan ik in eerste instantie dacht dat het zou zijn. Merendeels wegens de waanzinnig complexe structuur van het project en de code, ten minste in vergelijking met wat ik gewend ben, is het waanzinnig complex. Maar ik heb al veel geleerd, ook graag voor het eerst aan een iMac werken. Het was dus een zeer productieve en interessante eerste week.

Blog about my internship
This will be the blog about my internship, where I will post my progress within this company. This is a simple blog just for the purpose of the designated assignment.