:warning: Le repository Github sera créé pour vous avant votre première rencontre d’équipe. Ne commencez pas avant!

Contraintes

Les contraintes suivantes doivent absolument être respectées:

  • Java 18+ (openJDK uniquement)
  • Junit 5+
  • Mockito 3+
  • Toutes les dépendances doivent être gérées via Maven

Nous vous conseillons de prendre les outils fournis dans le projet de base. Vous pouvez cependant en ajouter (tout en respectant les licenses). Limitez le nombre de dépendances/outils/librairies que vous utilisez. Quelques conseils:

Outils et frameworks

  • Spring boot: c’est cool et ça va vite, mais c’est une GROSSE “learning curve”. Par expérience, ça peut causer énormément de problèmes pour les tests non-unitaires qui seront évalués plus tard dans la session.
  • Lombok: ça ajoute très peu de gains pour la quantité de problèmes que ça apporte. Surtout considérant que le projet est petit avec un domaine riche. Nous verrons les différentes architectures possibles au cours de la session.
  • Tout ce qui est des “utilitaires” comme apache-commons, guava, etc. si vous en faites bon usage, c’est correct

Vous pouvez tout de même utiliser ces outils, mais nous vous demandons de faire d’abord une comparaison avec les outils proposés et d’en discuter avec nous avant.

Dans ce cours, c’est le design et les tests qui nous préoccupent et non les technologies ou les frameworks. Il n’y aura rien de compliqué technologiquement. Par contre, il ne faut pas non plus recoder le parsing du JSON ou un serveur HTTP “from scratch”!

Pour toutes autres librairies, si vous avez des doutes, vous pouvez nous écrire. Soyez conscients que vous serez également évalués sur votre bonne utilisation des outils, et ceci inclut les librairies que vous choisirez.