IGNews

DESCRIÇÃO

Projeto desenvolvido durante a trilha ReactJS do curso Ignite da Rocketseat. Neste projeto é construído um blog pago, que para leitura completa dos posts é preciso uma assinatura. Todo o processo de pagamento foi realizado com o Stripe, ao longo do curso foi visto como criar produtos, assinaturas e clientes dentro da plataforma Stripe.

Além disso também foi utilizado o Headless CMS Prismic para gerenciamento dos posts da aplicação. A escolha do Prismic se deu devido a sua grande liberdade na criação de conteúdo e upload de imagens em seu plano gratuito.

Para a detecção de novas assinaturas foram utilizados webhooks. Através dele foi possível detectar novas assinaturas assim como alterações e cancelamentos. Assim que qualquer uma dessas ações forem detectadas, o banco FaunaDB era modificado para persistir com os dados do usuário sempre atualizados.

Este projeto também conta com autenticação social pelo Github implementado e gerenciado pela biblioteca Next Auth. Utilizando o NextJS foi possível gerar páginas estáticas contendo um preview do post pronto para ser indexado por buscadores. Antes do usuário acessar a página do post, é feito uma conferência para garantir que o usuário está autenticado e tem um assinatura ativa. Quando ele não tiver uma assinatura ativa, a tela exibida para ele é a tela do preview, caso contrário a tela do post completa é acessada.

PRINCIPAIS TECNOLOGIAS UTILIZADAS

  • typescript
  • reactjs
  • nextjs
  • faunadb
  • stripe
  • prismic

VEJA MAIS