- O projeto ig.news é um blog onde os usuários podem ter acesso ao conteúdo de cada postagem de acordo com o status de sua assinatura.O blog possui um sistema de compra integrado com o STRIPE, e após o usuário realizar o pagamento, sua inscrição estará ativa e pronta para visualizar o conteúdo completo de todo o blog. Caso o usuário não deseje optar pela assinatura, ele terá acesso limitado ao conteúdo das postagens. E todos os dados necessários para se fazer verificações de assinaturas ou dados dos usuários, estão salvos no banco de dados FaunaDB.
- Essa é uma aplicação Serverless, ou seja, todo o processo que dependeria de um backend foi integrado dentro do front e seguindo o padrão da JAMStack.
- As postagens são feitas pelo painel do Prismic CMS e integradas diretamente pelo front.
- Integração com o Prismic CMS, para trabalhar com toda a parte do sistema do blog.
- Integração com o Stripe para a parte dos pagamentos das inscrições.
- Integração com o NextAuth para a parte do login com o Github.
- Sistema de verificação de assinatura, o conteúdo exibido varia entre usuários com/sem assinatura paga.
- Dados são salvos no bando do FaunDb.
- Uso do sistema estático do Next.js, onde os posts são mantidos no cache para um melhor carregamento.
- Arquitetura Serverless, ou “computação sem servidores”, é uma arquitetura de computação orientada a eventos. Sua principal proposta é permitir que as empresas de software criem e mantenham seus aplicativos web sem se preocupar com a infraestrutura em que esses aplicativos estão rodando.
- Utilizando uma plataforma Serverless, o time de desenvolvimento da software house não precisa gerenciar a infraestrutura de servidores, como provisionamento, capacidade de processamento, sistemas de armazenamento, atualização dos servidores, entre muitas outras configurações recorrentes: todas essas funções ficam a cargo do provedor cloud.
- Com esse trabalho periférico mitigado, os desenvolvedores passam a ter mais mais tempo para se dedicar a suas funções primárias, entregando muito mais software em um mesmo período.
- Apesar de ser a vantagem mais óbvia da arquitetura Serverless, o tempo ganho pelo dev é apenas um dos destaques da arquitetura Serverless.
- O HTML é gerado no momento da construção e será reutilizado a cada pedido. Esta é a abordagem ideal porque os arquivos HTML e JSON gerados são armazenados em cache pelo CDN para melhor desempenho. Há duas funções que a estrutura fornece para trabalhar com dados externos: 1) getStaticProps - Coloque seus dados externos para serem pré-renderizados aqui. 2)getStaticPaths - Obter rotas com base em dados externos. Isto tem a ver com roteamento dinâmico e é usado em conjunto com getStaticProps.
- O HTML para a página é gerado em cada solicitação. getServerSideProps é a função que é usada quando o SSR é necessário para a renderização do conteúdo da página.
# Abra um terminal e copie este repositório com o comando
$ git clone https://github.com/ticianacapris/ignews.git
# Acesse a pasta da aplicação
$ cd ignews
# Crie um arquivo .env.local e coloque as variáveis
# de ambiente baseado no arquivo .env.example
# Instale as dependências
$ yarn
# Inicie a aplicação
$ yarn start
Aviso, o Stripe possui um token de teste que dura apenas alguns dias e não irei atualizar o mesma quando vencer, então não será testar o sistema de compra.
Feito com 💛 por Ticiana Capris