- [git][git] v2.13 or greater
- [NodeJS][node]
>=16 - [npm][npm] v8.16.0 or greater
All of these must be available in your PATH. To verify things are set up
properly, you can run this:
git --version
node --version
npm --versionIf you have trouble with any of these, learn more about the PATH environment variable and how to fix it here for [windows][win-path] or [mac/linux][mac-path].
Hosted on Book Ocean
If you want to commit and push your work as you go, you'll want to fork first and then clone your fork rather than this repo directly.
- Checkout the exercise branch
- Read through the
INSTRUCTIONS.md - Start exercise
- Go through every mentioned file and follow the instructions from the emoji
- We all come back together
- I go through the solution and answer questions
- Move on to the next exercise.
- Repeat.
-
User
- id: string
- username: string
-
List Item
- id: string
- bookId: string
- ownerId: string
- rating: number (-1 is no rating, otherwise it's 1-5)
- notes: string
- startDate: number (
Date.now()) - finishDate: number (
Date.now())
For convenience, our friendly backend engineers also return a
bookobject on each list item which is the book it's associated to. Thanks backend folks!
/me wishes we could use GraphQL
If your "database" gets out of whack, you can purge it via:
window.__bookshelf.purgeUsers()
window.__bookshelf.purgeListItems()-
Book
- id: string
- title: string
- author: string
- coverImageUrl: string
- pageCount: number
- publisher: string
- synopsis: string
Running "node go" does not list any branches
This means there was something wrong when you ran the setup. Try running:
node ./scripts/track-branches.js
If you're still not getting the branches, then you can do this manually:
git branch --track "exercises/01-bootstrap" "origin/exercises/01-bootstrap"
git branch --track "exercises/02-styles" "origin/exercises/02-styles"
git branch --track "exercises/03-data-fetching" "origin/exercises/03-data-fetching"
git branch --track "exercises/04-authentication" "origin/exercises/04-authentication"
git branch --track "exercises/05-routing" "origin/exercises/05-routing"
git branch --track "exercises/06-cache-management" "origin/exercises/06-cache-management"
git branch --track "exercises/07-context" "origin/exercises/07-context"
git branch --track "exercises/08-compound-components" "origin/exercises/08-compound-components"
git branch --track "exercises/09-performance" "origin/exercises/09-performance"
git branch --track "exercises/10-render-as-you-fetch" "origin/exercises/10-render-as-you-fetch"
git branch --track "exercises/11-unit-testing" "origin/exercises/11-unit-testing"
git branch --track "exercises/12-testing-hooks-and-components" "origin/exercises/12-testing-hooks-and-components"
git branch --track "exercises/13-integration-testing" "origin/exercises/13-integration-testing"
git branch --track "exercises/14-e2e-testing" "origin/exercises/14-e2e-testing"
git pull --all