Skip to content

stadline/php-technical-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

StadLine Technical Test

Présentation générale

TĂąche

Le sujet de base est simple : il faut créer un site permettant la gestion de sorties de courses à pied.

Une sortie de course à pied est définie comme ceci :

  • Utilisateur
  • Type de sortie (entraĂźnement, course, loisirs, etc.)
  • Date et heure de dĂ©but
  • DurĂ©e
  • Distance
  • Commentaire

Lors de la création ou modification d'une sortie, il faut calculer et enregistrer :

  • la vitesse moyenne (en km/h, 11.1km/h par exemple, on pourra donc enregistrer "11.1")
  • l'allure moyenne (en min/km, 5'24" par exemple, on pourra donc enregistrer "324")

Le site doit ĂȘtre sĂ©curisĂ©. Une authentification via http basic auth sur un provider in memory est amplement suffisante.

Une fois l'utilisateur connecté, différents écrans doivent permettre de :

  • lister les sorties (affichage des principales informations dont la vitesse moyenne et l'allure moyenne)
  • ajouter / modifier une sortie
  • supprimer une sortie

Une API doit ĂȘtre mise Ă  disposition. Cette API ne doit pas ĂȘtre sĂ©curisĂ©e. Par le biais de cette API, il doit ĂȘtre possible de :

  • lister toutes les sorties
  • lister les sorties d'un utilisateur
  • rĂ©cupĂ©rer le dĂ©tail d'une sortie

Les Pré-requis

  • PHP >= 7.1
  • Symfony >= 4
  • On attend aussi de vous que le code soit testable et testĂ©.
  • Il est conseillĂ© de finir les points requis avant de s'attaquer au bonus.
  • Il est aussi conseillĂ© de faire un maximum de commit pour bien dĂ©tailler les Ă©tapes de votre raisonnement au cours du dĂ©veloppement.
  • Le temps est libre mais il est tout de mĂȘme conseillĂ© de passer moins de 4h sur le sujet (temps de setup d'environnement compris)

Libertés

  • Le choix de votre environnement PHP ainsi que du serveur d'application associĂ© reste Ă  votre discrĂ©tion
  • Le moyen de stockage des donnĂ©es reste Ă  votre discrĂ©tion
  • Vous pouvez utiliser tout bundle ou composants Sf qui pourrait vous ĂȘtre utile
  • SĂ©curisation du site, ne pas passer trop de temps sur ce sujet, faire au plus simple
  • La charte graphique n'est pas imposĂ©e, vous ne serez pas jugĂ©s sur ce point

Bonus

Toutes les fonctionnalités que vous aurez le temps d'ajouter seront bonnes à prendre. Soyez créatifs !!

Voici quelques idées (liste non ordonnée) :

  • Ecran : permettre la gestion des types de sorties (lister, ajouter, modifier, supprimer)
  • Ecran : permettre Ă  l'utilsiateur de lister ses records (1km, 5km, 10km) :

Pour le calcul du record, on admet que l'utilisateur court de maniÚre trÚs réguliÚre

Exemple : sortie de 2h pour 20km, les records de l'utilisateur pour cette sortie sont :

  • 1km : 6min (120min / 20)
  • 5km : 30min (120min / 4)
  • 10km : 1h (120min / 2)

Reste donc Ă  calculer les meilleurs temps pour chaque distance et chaque utilisateur.

  • API : liste des activitĂ©s d'un type de sortie
  • API : liste des activitĂ©s d'un type de sortie et d'un utilisateur
  • API : liste des types de sorties disponibles (dĂ©pend du bonus de gestion des types)
  • API : liste des records (dĂ©pend du bonus sur le calcul des records)
  • API : liste des records pour un utilisateur (dĂ©pend du bonus sur le calcul des records)
  • API : SĂ©curiser
  • Design : Utilisation d'une lib ou d'un framework (Twitter Bootstrap ou autre)

Délivrabilité

  • Forkez le projet sur GitHub et codez directement dans le projet forkĂ©.
  • Commitez aussi souvent que possible et commentez vos commits pour dĂ©tailler votre chemin de pensĂ©e.
  • Votre application doit ĂȘtre facilement testable par nos Ă©quipes.
  • Mettez Ă  jour le README pour ajouter le temps passĂ© et tout ce que vous jugerez nĂ©cessaire de nous faire savoir.
  • Envoyez le lien avec le projet Ă  recrutement@stadline.com.

Bonne chance !

About

Test technique Symfony

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •