Om te kunnen beoordelen of jouw development-skills goed aansluiten bij het team van Van Ons, hebben we een klein assessment voorbereid. Het doel is om een typische "real world" situatie na te bootsen, waarin je aan de slag gaat met een ticket uit de backlog van project X.
Voor de fictieve klant Toedels ontwikkelen we bij Van Ons een To-Do-list applicatie. Het is een eenvoudige applicatie waarin To-Do's in een lijstweergave worden getoond. De applicatie bevat een formulier om nieuwe To-Do's toe te voegen en de mogelijkheid om taken af te vinken. De applicatie is gebouwd met React.
De belangrijkste aandachtspunten op een rij:
- De lijst met To-Do's is standaard gesorteerd op datum. De eerstvolgende To-Do staat bovenaan.
- De sortering kan worden omgekeerd met de knop rechtsboven in de lijst.
- Voltooide To-Do's staan in een aparte tab. Er kan dus worden gewisseld tussen de tab met openstaande taken en de tab met voltooide taken.
- Er kunnen nieuwe To-Do's worden toegevoegd.
- Bestaande To-Do's kunnen worden verwijderd en bewerkt.
- To-Do's kunnen worden afgevinkt. Dit kan zowel in de lijst met openstaande To-Do's als in de lijst met voltooide To-Do's.
- De datum van een To-Do wordt soms weergegeven als 'Yesterday', 'Today' of 'Tomorrow'. In andere gevallen tonen we de reguliere datum.
- Boven de lijst worden de totalen weergegeven als uitgeschreven tekst (dus: 'vijf To-Do's' in plaats van '5 To-Do's').
Een designer van Van Ons heeft een ontwerp gemaakt en gedeeld in Figma.
Het is aan jou om (a) de beste aanpak te bepalen voor het implementeren van de React front-end en (b) deze implementatie daadwerkelijk uit te voeren.
Bij de beoordeling van de opdracht letten we vooral op de kwaliteit en de structuur van de code. We kijken specifiek of de code logisch is opgebouwd en "future-proof" is. Met andere woorden: is jouw code flexibel genoeg voor toekomstige doorontwikkeling?
Daarnaast is het belangrijk dat je nadenkt over de MVP (Minimum Viable Product). De kans bestaat dat je de opdracht door tijdsgebrek niet volledig kunt afronden. Denk daarom goed na over welke features het belangrijkst zijn voor de fictieve klant en welke je als eerste gaat uitwerken.
Aangezien dit een front-end opdracht is, beoordelen we ook in hoeverre jouw eindproduct overeenkomt met het design. Het is een mobile-first applicatie, maar houd er rekening mee dat het geheel responsive moet zijn en er op desktop dus ook goed uit moet zien.
Voor deze opdracht staat een schatting van 8 uur. Dit is niet bindend en het is zeker niet vereist om alles af te krijgen. We zijn vooral benieuwd naar jouw programmeerstijl en hoeveel je binnen een bepaald tijdsbestek kunt neerzetten.
- De codebase met jouw toegevoegde features; voeg comments toe op plekken waar je extra uitleg wilt geven.
- Een nieuwe README met uitleg over jouw implementatie: welke features heb je wel of niet uitgewerkt?
- Stel dat dit project voor een echte klant wordt gemaakt: welke stappen zijn er dan nog nodig om dit project productie waardig te maken? Voeg deze informatie toe aan je nieuwe README.