ciel étoilé

Réalisations

Projet tutoré : Orinoco

Développement Frontend : créer une boutique en ligne qui communique avec une API existante.
Entrée en matière de JavaScript, de Bootstrap et en bonus la planification de tests unitaires.

exemple code bootstrap

Bootstrap

Ici pas de maquette, j'ai créé l'interface "from scratch" avec Bootstrap 5.
Ce framework m'a permis de réaliser rapidement une interface complète, fluide, responsive et surtout mobile first.
J'ai quand même utilisé Sass pour gérer les animations.

code html

JavaScript et le DOM

Pour exploiter les clics de l'utilisateur ou afficher les données provenants de l'API, JS est là !
Les actions sont "écoutées" comme par exemple le bouton Ajouter au panier,
ou alors du contenu est injecté dynamiquement comme dans l'aside.

exemple de promesse

JS est syn-quoi ?

Synchrone ! cela veut dire que les fonctions sont appelées dans l'ordre où elles sont écrites et ne sont pas nécessairement terminées avant que les suivantes soient appelées.
Grâce à ce comportement, on peut faire une requête sur un serveur et commencer à afficher des informations sans avoir toutes les réponses du serveur ...
Si on veut retrouver un comportement asynchrone, on peut et vient alors le concept des promesses dont la compréhension et l'exploitation m'ont donné du fil à retordre.
Là, je remercie mon mentor pour ses conseils et ses explications !

reservia sur mon github

Données utilisateur

Le panier est stocké dans le local storage avant d'être contrôlé et envoyé au backend.
Ainsi les informations sont conservées même si l'utilisateur ferme son navigateur.



Tests unitaires

Un plan de test est demandé pour la validation du projet. Pour chaque fonction, on fournit ce qui est attendu en retours.
C'est à ce moment que j'ai compris l'importance de réduire une fonction au strict nécessaire. Dans l'idéal, une fonction ne fait qu'une seule chose. Et surtout elle ne crée pas d'effets de bord !

frontend orinoco sur github

Résultat final

Pour tester l'application vous devez lancer le server front en suivant les indications du README.md


Contact

N'hésitez pas à me solliciter pour toute info sur ma disponibilité, une demande de prestation, une proposition de job ou un projet collaboratif.