Bertil Vossebelt

scroll naar beneden

Recente blog posts

hangmanImage

BPV - Week 7

Maandag was mijn praktijkbegeleider er niet en heb ik gewerkt aan de aantekeningen die hij vorige week voor mij had achtergelaten. Alle belangrijke componenten zijn nu schaalbaar, en het is makkelijk te herhalen voor nieuwe componenten. Hiervoor heb ik ook een ander punt van de aantekeningen afgemaakt, want ik heb namelijk een extra class geschreven voor het opslaan en ophalen van de instellingen van de gebruiker. Ook heb ik een begin gemaakt aan het bijwerken van de technische documentatie, omdat vrijwel alles omgegooid is na de laatste keer dat ik die heb geschreven. Ik wil nog met Niek bespreken of ik daarmee in de goede richting ga. Dinsdag heb ik een nieuw soort StaffCard geschreven, namelijk de TinyStaffCard. Een kleinere variant van de grote StaffCard met minder informatie, maar meer overzicht. Ik heb geleerd om de applicatie aan te richten op de behoeften van de klant. De laatste tijd zijn er meerdere momenten geweest waar ik een tekortkoming zag omdat er bijvoorbeeld niet meer dan 5 wachtrijen naast elkaar weergegeven kunnen worden of iets dergelijks, maar Niek zegt dan dat 99% van de klanten waarschijnlijk geholpen is met de huidige oplossing, en dat het dus niet nuttig is om daar heel veel tijd in te steken. Als iemand dat dan toch wil, kunnen we daar later altijd nog naar kijken. Daarnaast heb ik gewerkt aan een manier om gewijzigde instellingen straks naar de server te kunnen sturen, zonder dat je daarmee kan spammen. Er is een vertraging ingebouwd, maar de instellingen worden ook lokaal opgeslagen, zodat de eindgebruiker niets van die vertraging gaat merken. Zodra die lokale versie dan verwijderd wordt, (bij opnieuw inloggen) kan de server de opgeslagen instellingen opnieuw teruggeven aan de applicatie. Verder ben ik bezig geweest aan het aanpassen van de wachtrij stijl zodat die in lijn is met de rest van de applicatie. De rest van de week was ik ziek. Ik heb gewerkt aan je levert een bijdrage aan het ontwerp, vanwege de TinyStaffCard. Ik heb ook gewerkt aan 'Je realiseert (onderdelen) van het product', omdat ik weer nieuwe dingen heb gemaakt. Ik heb gewerkt aan 'Je optimaliseert het product', door code bijeen te voegen in de Preferences (instellingen) class, wat ook andere onderdelen van het product behoorlijk versimpeld heeft.
hangmanImage

BPV - Week 6

Deze week heb ik alle puntje op de i gezet. De grote en belangrijke functies zijn geïmplementeerd en zijn nu betrouwbaar. Maar hier en daar konden er nog dingen toegevoegd of geoptimaliseerd worden. Maandag ben ik van start gegaan met unit testen. Het lastige hieraan is dat dit unit testing in JavaScript is, wat betekent dat er heel veel geïnstalleerd moet worden. Ik ben daar dan ook de hele dag mee bezig geweest, maar het was nog steeds niet af. Wel heb ik behoorlijk wat geleerd over JavaScript unit testen. Ik ben langs veel benodigdheden gekomen, en heb ook geleerd hoe je een vrij simpele test schrijft. Dinsdag ben ik daar verder mee gegaan, maar omdat het telkens niet werkte en het heel veel tijd kostte, hebben we in overleg besloten dat unit testing in JavaScript het waarschijnlijk niet waard is, omdat het enorm veel tijd kost en je er niet voldoende voor terugkrijgt. Wellicht dat we later tests kunnen schrijven als we met de api aan de slag gaan. Die is geschreven met php. Dat is sneller op te zetten, en ik heb bovendien al enige ervaring met phpunit. Verder heb ik de axios requests geschreven voor het telefoonboek. Woensdag heb ik gewerkt aan de vormgeving van het telefoonboek en aan automatisch zoeken daarin. Bovendien kan je nu met de vaste telefoon bellen vanuit de applicatie door op een nummer te klikken. De applicatie stuurt een request naar de api. Je eigen telefoon gaat rinkelen en als je die opneemt wordt er gebeld. Vanaf donderdag is het verversen van de pagina geen probleem meer. Het was het geval dat alle gegevens dan weggegooid worden en je opnieuw moest inloggen. Nu wordt dat automatisch voor je gedaan. Ook kan je nu echt notificaties opslaan vanuit de belgeschiedenis en is het QueueCounter component om zeep geholpen in ruil voor iets simpelers. 's Middags heb ik met Niek overlegd over wat er nog gebeuren moet, en wat we nog meer willen implementeren. Vrijdag vond ik een schrijfbord vol met aantekeningen en suggesties, dus die ben ik vandaag maar eens aan het ontcijferen en bedenken hoe ik zoiets kan implementeren. Ik heb de laatste tijd veel geleerd over front-end development en ik snap veel beter wat een api precies is, omdat ik daar constant mee te maken heb. Het was mij altijd een raadsel hoe je op een normale, nette manier javascript kon toepassen terwijl de data vanuit php kwam. Ik zou nu niet zo snel meer html schrijven in de blade templates van laravel, maar daarvoor een front-end framework gebruiken als Vue.js of React.
hangmanImage

BPV - Week 5

Waar ik eind vorige week nog zo blij was dat ik alles eindelijk helemaal werkend, netjes en bugvrij had, zo vervelend was het om op maandag te merken dat dat niet zo was. Er bestaat dus blijkbaar zoiets als een wisselgesprek. Wanneer wisselgesprekken ingeschakeld zijn kan de telefoon meerdere verbindingen tegelijk onderhouden. Het probleem daarmee is dat mijn applicatie zo gebouwd is dat er deze wisselgesprekken niet goed weergegeven kunnen worden, en dat de structuur van de applicatie grondig aangepast moet worden. Vandaar dat ik maandag veel heb nagedacht over hoe ik dat het beste doen. Daarnaast heb ik gewerkt aan het programmeren van notificaties. Deze notificaties worden door de website gestuurd naar het operating system van de computer en kunnen later worden gebruikt voor CRM koppelingen. Dinsdag heb ik de hele dag gewerkt aan het ombouwen van de applicatie. Aan het einde van de dag was er nog een resterende functie die nog niet bugvrij was. Woensdag besloot ik dat ik alles van Dinsdag weer ongedaan zou maken en opnieuw beginnen. Dinsdag op de terugweg dacht ik opeens aan Vuex, waar ik hier en daar vaag iets over gelezen had, en ik bedacht mij dat dit een betere oplossing zou zijn omdat dan vrijwel alle inefficiënte for loops uit het proces gehaald kunnen worden. Voordat ik begon heb ik mijzelf eerst Vuex aangeleerd. Ik merk dat het leren van nieuwe dingen me tegenwoordig veel makkelijker afgaat en ik wordt veel minder geïntimideerd door het leren van een nieuwe taal, framework of methode. Woensdag ben ik dus bezig geweest met het werkproces: Je optimaliseert het product. De implementatie was voorspoedig en was aan het 's middags helemaal af. Dacht ik. Dus heb ik hier en daar nog wat code opgeschoond. Ik ben daarna ook bezig geweest met het werkproces: je levert een bijdrage aan het ontwerp, door de StaffCards (kaartje voor de status van elke medewerker) te ontwerpen. Ik heb een aantal versies gemaakt, en aan Niek voorgelegd. Donderdag kwam ik erachter dat er een paar grote fouten in de applicatie zaten, doordat één van de andere medewerkers met haar telefoon belde. De status op mijn scherm van die telefoon liep echter telkens achter. Ik ben een groot deel van de dag bezig geweest met testen en debuggen. Verder heb ik donderdag gewerkt aan het implementeren van de nieuwe StaffCards, die na wat testen vlekkeloos functioneerden. Dacht ik. Vrijdag bleek dat de StaffCards niet goed functioneerden, wederom doordat dezelde collega aan het bellen was en mij opviel dat de StaffCard verdween als ze meer dan twee oproepen tegelijk had. Gelukkig was het een hele simpele oplossing, maar het heeft me een goed uur gekost om het probleem te vinden. De rest van de dag, (tot nu, 12 uur) ben ik bezig geweest aan alle verplichtingen van school. Verder wil ik mij vandaag en volgende week, vooral focussen op het schrijven van unit tests.
hangmanImage

Website Trimsalon BeautyFur

De afgelopen tijd heb ik druk gewerkt aan de nieuwe website van Trimsalon BeautyFur. Hoewel de website al een poosje klaar was, kan je hem nu ook echt bezoeken! Neem eens een kijkje op beautyfur.nl! Bij het bouwen van deze website hebben we ook in de gaten gehouden wat deze ondernemer graag wil. Één van de wensen was meer overzicht in de agenda en de klanten. Daarom is er een CRM ingebouwd, welke is opgebouwd uit vier delen: afspraken, klanten, dieren en tarieven. Wanneer er een nieuwe klant bij de trimsalon binnenkomt, heeft de trimster eerst informatie over de hond en over de klant nodig. Hiervoor maakt de trimster een account aan voor de nieuwe klant, waar alle informatie wordt opgeslagen. De klant krijgt een e-mail en kan dan zelf het automatisch gegenereerde wachtwoord wijzigen. Indien de mail niet goed aangekomen is, kan de trimster met 1 druk op de knop een nieuwe mail verzenden. Het voordeel voor de klant van het hebben van een eigen BeautyFur account is dat ze daar al hun afspraken kunnen terugvinden, en ook wat ze ervoor hebben betaald. Daarnaast kan de klant zijn eigen gegevens wijzigen of aanvullen, zodat de trimster de klant optimaal kan bedienen. Voor de trimster is het vooral handig om alle klanten en afspraken op één centrale plek te hebben. Voorheen werden al deze gegevens opgeschreven in een notitieboekje, de afspraken in een agenda en de opbrengsten stonden overal en nergens. Nu is daar meer overzicht. Bovendien is op het hoofdpaneel te zien hoeveel er deze week/maand/dit jaar verdient is. Bij de afspraken is precies te zien hoeveel er voor iedere afspraak betaald is. Ook kan de trimster nu beter in de gaten houden wanneer een klant voor het laatst geweest is, door simpelweg te zoeken op de klant en dan naar het afspraken overzicht van die klant te navigeren. Naast dat alles is het nu ook gemakkelijker om de tarieven te beheren. Op de vorige website was dat nogal een klus. Voor dit alles heb ik eerst de website gebouwd, en daarna heb ik de algemene voorwaarden geschreven, die nog niet of nauwelijks bestonden. Vervolgens heb ik ook moeten leren hoe ik zelf website hosting moet opzetten en hoe ik alles in moet richten op de server. Naast de websitehosting is er nu ook een e-mail server van Trimsalon BeautyFur voor de communicatie met klanten via een professioneel e-mail adres en het versturen van automatische mails door middel van noreply@beautyfur.nl.