Projet

Contraintes

Il conviendra de réaliser une application Web, basée sur la librairie React.js. Cette application devra manipuler des données provenant d'au moins une API externe, avec notamment un CRUD le plus complet possible. Ce point sera discuté au cas par cas pour déterminer les API à utiliser.

Techniquement, il faudra que l'application comporte :

  • Au moins 4 Ă©crans fonctionnellement diffĂ©rents

    • Listing de donnĂ©es

      • Donnant accĂšs aux dĂ©tails d'un Ă©lĂ©ment

    • Formulaire de crĂ©ation de donnĂ©es

  • Un mĂ©canisme de persistance des donnĂ©es locales (Ă  discuter)

  • Des appels vers une API (authentifiĂ©s ou non)

Les Ă©lĂ©ments suivants devront ĂȘtre prĂ©sents :

  • Routage dynamique (plusieurs "pages")

  • Stockage dans le navigateur

  • Appels REST (API)

  • Tests (Jest & Enzyme)

  • package.json Ă  jour

Les points suivants seront Ă©galement pris en compte :

  • ClartĂ© du code

  • Architecture propre

  • Utilisation des hooks

  • Couverture de code (test)

  • Bonne utilisation des const/var/let

  • RĂ©utilisation de composants gĂ©nĂ©riques

  • Styles et design de l'application

  • Utilisation pertinente de librairie(s) externe(s)

  • Bonne gestion de l'Ă©tat (state) de l'application et ses composants

Pour aller plus loin, n'hésitez pas à :

  • Utiliser un systĂšme de gestion des donnĂ©es comme Redux ou MobX

  • DĂ©velopper votre propre API, afin de ne pas ĂȘtre limitĂ© par l'existant

  • Vous pourriez Ă©galement vous intĂ©resser Ă  GraphQL, en lieu et place ou en complĂ©ment de REST

Choix du sujet

Le choix du sujet de l'application est libre, il appartient à chacun de le définir. Une validation préalable sera effectuée avant de débuter l'implémentation.

ThĂšmes interdits : sujet irrespectueux, violent, ne respectant pas la charte de l'IUT.

Exemples de sujet (2017 / 2018) : Festival du Houblon, Le monde de Star Wars, MangaShowTime, BlaBlaBar, InfoSNCF, Dofus Quest, Galerie Multimédia, Doge Miner, Pokedex, Umbrella (météo), FitNess (native), Livre2Recettes...

Le sujet devra avoir été validé avant la fin de la séance du 12 décembre 2019.

RĂ©daction d'un mini-cahier des charges

Un cahier des charges sera à produire, et ce pour la séance du 13 décembre 2019. Il contiendra une description rapide des écrans et fonctionnalités qui seront développés.

Veillez Ă  remplir le document ci-dessous, et Ă  me le transmettre par e-mail Ă  l'adresse habituelle.

# Sujet
Donnez une description rapide du projet.
Pourquoi ce sujet ?
​
# Fonctionnalités
Listez ici les fonctionnalités que vous avez imaginées.
Cette liste n'est pas dĂ©finitive, et pourra ĂȘtre adaptĂ©e au fil du temps.
​
# Source(s) de données
Quelle(s) API(s) comptez-vous utiliser ?
NĂ©cessite(nt)-elle(s) une authentification particuliĂšre ?
Allez vous développer votre propre API ? Si oui, avec quelle technologie ?
​
# Suite & avenir
Pensez-vous réutiliser ce projet ? (commercialisation, open source, ...)