Backend Challenge
Introduction
En tant qu’ingénieur logiciel dans l'équipe DZConseil, vous devez fournir une solution backend fiable à nos clients. Votre tâche ici est d'implémenter quelques fonctionnalités pour une api rest comme Airbnb.
Exigences
Nous valorisons une solution propre, simple et efficace.
Bonne compréhension du fonctionnement du git.
Bonne compréhension des API REST.
Aucun package ne doit être ajouté au code fourni.
Remarques
Le code source doit être poussé en tant qu'une branche git dans ce project.
Votre nom de branche devrait suivre cette forme
challenge/nom-prénom.LE CODE NE DEVRAIT PAS ÊTRE POUSSÉ PAR UNE PULL-REQUEST
Attentes
Ce défi devrait durer environ 4 à 5 heures.
Tous les tests dans votre branche doivent réussir.
Éviter le over-engineering.
Toutes les réponses doivent être en format JSON.
Énoncé du problème

En suivant ce diagramme, nous souhaitons mettre en place une API que nos utilisateurs peuvent utiliser.
Cette API restfull devrait nous permettre de lister, voir, créer, mettre à jour et supprimer une maison.
Les methods qui calcule de couts de réservation
calculateCost()&calculateDiscount()devrons être implémentées au niveau du modelListing.
Configuration du projet
Pour obtenir une copie de ce projet sur votre machine, vous devez exécuter la commande suivante :
Vous obtiendrez une copie de ce projet dans un dossier nommé dzconseil-challenge
Maintenant, vous devez créer une nouvelle branche pour commencer à travailler, exécutez la commande suivante :
Vous remarquerez que nous vous avons fourni le squelette du projet avec presque tout, y compris (routes, models , migration, factories, controllers, requests, resources, tests) tout ce que vous avez à faire est de remplir la logique manquante et d'exécuter les tests.
Tous les tests de ce projet doivent réussir avant que vous poussiez votre code.
Endpoints
Afficher toutes les maisons
Requête
URI :
/api/listingsMéthode :
GET
Réponse
Statut :
200Corps :
Afficher une maison
Requête
URI :
/api/listings/:uuidMéthode :
GET
Réponse
Statut :
200Corps :
Créer une nouvelle maison
Requête
URI :
/api/listingsMéthode :
POSTCorps :
Réponse
Statut :
201Corps :
Mettre à jour une maison
Requête
URI :
/api/listings/:uuidMéthode :
PUTCorps :
Réponse
Statut :
200Corps :
Supprimer une maison
Requête
URI :
/api/listings/:uuidMéthode :
DELETE
Réponse
Statut :
200Corps :
Des questions ? Suggestions ? Nous aimons vous répondre : [email protected]
Last updated
Was this helpful?