Você pode ver o que está funcionando nesse endereço: https://yudi-azvd.github.io/bedtime-calculator/.
E o que está sendo desenvolvido nesse endereço: https://bedtime-calculator.vercel.app/.
Pra quem estiver curioso, pode ver o diagrama de classes aqui, feito no Draw.io.
Instale as dependências:
yarn
Comece o servidor da aplicação:
yarn dev
Você pode interagir com a aplicação no endereço http://localhost:1234.
Sim, fazer esse tanto de classe pode ser um overkill, mas eu tô treinando alguns princícpios do SOLID e TDD.
Service worker, detalhes sobre scope. Dá uma olhada no diagrama.
Gist sobre service worker hospedados no GitHub Pages
Exemplo de PWA React TS. Dá uma olhada no serviceWorker.ts
.