Nesse modulo aprendemos como criar uma aplicação front-end serverless, utilizando os recursos de banco de dados do FaunaDB, api de pagamentos do Stripe e sistema de gerenciamento de conteúdo Prismic CMS. O resultado final seria um blog com posts que para serem consumidos em sua totalidade, o usuário deveria estar logado e com uma assinatura ativa. Seguem abaixo algumas telas do sistema:
npm run rev
npm create next-app ignews
(Selecionar não para tudo)
- A pasta styles
- O conteudo da public
- A pasta api dentro da pasta pages
- E o arquivo document dentro da pasta pages tbm
- O jsconfig.json na pasta Raiz
- O conteúdo da index.js e substitui por Hello World em um h1.
- Limpei os imports também
npm add typescript @types/react @types/node -D
npm add sass
npm add react-icons
npm add stripe
npm add next-auth
npm add @types/next-auth -D
Obs: Tive que dar um downgrade na versão do next-auth para 3.xx porque não estava reconhecendo a forma como o diego escreve o nextauth para o github e usando o atualizado não encontrei como definir o escopo da maneira correta.
npm add faunadb
npm add axios
npm add @stripe/stripe-js
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
scoop bucket add stripe https://github.com/stripe/scoop-stripe-cli.git
scoop install stripe
Obs: Depois executar o comando "stripe login" e autorizar no navegador para funcionar na nossa maquina durante 90 dias.
stripe listen --forward-to http://localhost:3000/api/webhooks
OBS: Para testar o stripe basta por o cartao: 4242 4242 4242 4242 e os demais dados aleatórios.
npx @slicemachine/init --repository ignewsmah
npm run slicemachine
Obs: Isso foi necessário para poder criar o custom type.
npm add @prismicio/client@^4
OBS: Optei por instalar a versão da epoca do tutorial por conta de várias incompatibilidades.
npm add prismic-dom
npm add @types/prismic-dom -D