Este projeto é um site desenvolvido utilizando Next.js e React e mantido por mim (Vitor Norton). Ele é publicado utilizando Cloudflare Workers. O Next.js é utilizado como conector para o Notion, onde toda a base de dados do site é gerenciada. Isso permite uma fácil atualização e manutenção do conteúdo através do Notion. Se você tiver alguma dúvida ou precisar de mais informações, sinta-se à vontade para entrar em contato comigo.
O projeto vtnorton.com possui uma arquitetura que integra diferentes serviços para exibir imagens do Instagram, carregar eventos de um servidor Discord e ler a lista de vídeos do YouTube. É importante configurar corretamente as chaves de API e as conexões com esses serviços para obter o funcionamento adequado. Se você não utiliza alguma dessas funcionalidades, pode ignorar a respectiva configuração.
Antes de executar o projeto, é necessário preencher as chaves de API nos arquivos de configuração. O arquivo .env.local
é utilizado para armazenar as chaves e é ignorado pelo Git para evitar o compartilhamento de informações sensíveis. Certifique-se de adicionar as chaves de acordo com as documentações dos serviços a seguir:
O Notion é utilizado para gerenciar a base de dados do site. Certifique-se de criar uma base de dados no Notion e adicionar as seguintes propriedades:
Date
: data da postagem.Type
: campo multiselect com os tipos de conteúdo, como Podcast, Evento, Post.Status-podcast
: deve conter o valor "Publicado" para que o item seja exibido no site como um podcast.Status-post
: deve conter os valores "Query", "Follow-up" ou "Published" para que o item seja exibido no site como um post.Slug
: campo de texto para obter a URL, deve estar todo em minúsculas, sem acentos e espaços.Hashtags
: campo multiselect com as hashtags relevantes.Podcast
: campo select que contém o nome do podcast.Link
: URL que contém o link do podcast.
O projeto exibe imagens do Instagram. Você precisará obter uma chave de API do Instagram. Consulte a documentação oficial do Instagram para obter instruções sobre como obter a chave de API corretamente.
O projeto carrega eventos do servidor Discord. Certifique-se de configurar uma aplicação no Discord e obter as chaves de API necessárias. Consulte a documentação do Discord para obter mais informações sobre como criar e configurar uma aplicação no Discord.
O projeto lê a lista de vídeos do YouTube. Para isso, você precisará obter uma chave de API do YouTube. Consulte a documentação oficial do YouTube para obter informações detalhadas sobre como obter uma chave de API corretamente.
Após obter as chaves de API para cada serviço, adicione-as ao arquivo .env.local
com as seguintes variáveis:
DEVREL_DB=DEVREL_DB_REPLACE
NOTION_SECRET=NOTION_SECRET_REPLACE
NOTION_TOKEN=NOTION_TOKEN_REPLACE
INSTAGRAM_TOKEN=INSTAGRAM_TOKEN_REPLACE
DISCORD_TOKEN=DISCORD_TOKEN_REPLACE
YOUTUBE_KEY=YOUTUBE_KEY_REPLACE
Se tiver alguma dúvida ou precisar de mais informações sobre a arquitetura do projeto, sinta-se à vontade para entrar em contato.
Se você deseja contribuir para o desenvolvimento deste projeto, siga os passos abaixo:
- Faça um fork deste repositório e clone-o para o seu ambiente local.
- Instale as dependências do projeto utilizando o comando:
npm install --legacy-peer-deps
- Execute o projeto em modo de desenvolvimento:
npm start
- Faça as modificações necessárias e teste-as localmente.
- Certifique-se de seguir as boas práticas de codificação e manter a consistência com o estilo de código existente.
- Envie um pull request com as suas alterações para revisão.
Para instalar o projeto localmente, siga as instruções abaixo:
- Clone o repositório para o seu ambiente local:
git clone https://github.com/seu-usuario/vtnorton.com.git
- Navegue até o diretório do projeto:
cd vtnorton.com
- Instale as dependências do projeto:
npm install --legacy-peer-deps
- Inicie o servidor de desenvolvimento:
npm start
- O projeto estará acessível em http://localhost:3000.
O projeto é licenciado sob a licença MIT. Para mais informações, consulte o arquivo LICENSE.