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étailpackages/booklist/src/Booklist.tsx
: Vue listepackages/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