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, ...)

Last updated