Aller au contenu principal

Bookshelf

Bookshelf

Description

L'application Bookshelf liste les romans de Jules Verne et fournit une vue détaillée de chaque roman.
Le projet est organisé en monorepo. Il utilise pnpm et ses workspaces ainsi que Turborepo.
Le frontend est développé avec React et Tailwind.
Pour simplifier l'atelier, il n'y a pas de backend, toutes les données sont en dur.

Structure

Répertoires

  • apps : contient les applications buildables et déployables
  • configs : contient des packages de configuration (Webpack, ESLint, Prettier, Typescript)
  • doc : Docusaurus pour cette documentation
  • example : Exemple d'utilisation de Module Federation
  • packages : contient du code partagé (composants, api)

Code

  • apps/bookshelf/src/App.tsx : Composant principal contenant notamment la configuration des routes pour accéder aux vues liste et détail
  • packages/booklist/src/Booklist.tsx : Vue liste
  • packages/book/src/Book.tsx : Vue détail d'un livre

Commandes

info

Sauf indication contraire, toutes les commandes sont à exécuter à la racine du projet.
Les scripts pnpm et les pipelines Turborepo sont déjà configurés pour vous.

Documentation

Pour avoir une version de la documentation hors-ligne (localhost:4080) :

pnpm doc:serve

Développement

Pour lancer l'application en mode dev (localhost:3000) :

pnpm dev

Prod

Pour builder et lancer l'application en mode prod (localhost:4000) :

pnpm serve