About this book
We built this book with GitBook and some plugins:
-sharing
: allows to manage (ore remove at all) the sharing buttonsinclude-codeblock
: allows to import a block of code directly from a fileinclude
: allows to import and reuse a MD file
The book can be configured with the book.json
file, some of the options can be found here.
How to use it
npx gitbook install
: automatically managed with thepostintall
scriptnpm run book:serve
: alias fornpx storybook serve
npm run book:build
: alias fornpx storybook build
, the artifact is placed into thedocs
directory to be used with GitHub pages. ATTENTION: you need to runnpm test
before it to create some assets for the booknpm run book:publish
: pushes the latest changes to the GitHub page
Slides
We managed the slides through slides.com and are publicly available.
Code
We leveraged both the React frontend and the Node.js backend of the RealWorld project. Read more about it in the dedicated chapter.
Cypress tests
To watch them running on your local machine:
- you should have the RealWorld project dependencies installed
- you must launch the RealWorld project with
npm run realworld:start
- run
npm run cy:open
and launch your tests of choice
Jest example tests
To watch them running on your local machine:
- install the project dependencies with
npm install
- launch
npm run test:unit
- if you want to keep Jest opened you can launch
npm run test:unit:watch
and navigate the various tests leveraging the jest-watch-typeahead plugin
File system
|-- __tests__ # example tests
|-- book # all the chapters of the book
|-- cypress/integration # all the Cypress tests
|-- demo-app # the React application used for the integration/unit tests part
|-- docs # auto-generated directory, GitHub pages points here
|-- realworld # both the frontend/backend RealWorld apps
|-- slides # the GitPitch files (if used)
|-- utils # little repository utilities
Author: Stefano Magni