Welkom bij de PHP test van Software Bastards!
We zijn benieuwd hoe jij moderne PHP toepast, logisch nadenkt over API-design, en structuur aanbrengt in een kleine maar realistische opdracht.
Bouw een kleine applicatie waarin een menukaart van een bar beschikbaar wordt gesteld via zowel een REST API als een GraphQL API. Je mag zelf kiezen hoe je dit structureert, zolang beide APIs dezelfde logica delen.
De gegevens mag je hard-coden of injecteren via een eigen repository-implementatie.
Voorbeelditems (gebruik ze, breid ze uit of vervang ze):
[
{ "id": 1, "name": "Negroni", "category": "cocktail", "price": 9.5, "ingredients": ["gin", "campari", "vermouth"] },
{ "id": 2, "name": "IPA", "category": "beer", "price": 6.0, "ingredients": ["barley", "hops", "yeast"] },
{ "id": 3, "name": "Virgin Mojito", "category": "mocktail", "price": 5.5, "ingredients": ["mint", "lime", "sugar", "soda"] }
]- Een REST API
- Een GraphQL API
- Gedeelde logica
Wat je precies aanbiedt qua endpoints, filters of sortering mag je grotendeels zelf bepalen. Denk na over wat een bar-menukaart-app nodig zou hebben en bouw een oplossing die je zelf ook zou willen onderhouden (denk bijvoorbeeld ook aan tests).
- Gebruik PHP 8.1 of hoger
- Framework naar keuze (Laravel of Symfony is top)
- Geen database nodig, maar mag natuurlijk wel
- Een kleine frontend om je endpoints te demonstreren
- Swagger/OpenAPI documentatie
- Heldere, modulaire structuur (denk aan services of DTO’s)
- Slimme filter- en sorteerlogica
- SOLID, maar niet overdreven
Richtlijn: ongeveer 2–3 uur Je mag altijd verder bouwen als je enthousiast bent, maar dat hoeft niet.
Stuur een link naar een (eventueel privé) GitHub-repo of zip-bestand.
Veel succes – laat vooral zien hoe jij denkt, niet alleen hoe je codeert.