Projeto | Tecnologias | Utilização | Desafios | GitHub Actions | Licença
Este projeto consiste em uma ferramenta que automatiza a criação de descrições e títulos (por enquanto) para vídeos do YouTube a partir da transcrição do conteúdo. Basta fazer o upload de um vídeo que a Inteligencia Artificial do ChatGPT (Whisper) vai transcrever o áudio do vídeo e com base nessa transcrição gerar sugestões de título e descrição. Além da possibilidade de inserir um prompt personalizado para que a geração das sugestões atenda as necessidades do usuário.
Este projeto foi desenvolvido utilizando tecnologias como:
- Node.JS
- TypeScript
- Fastify
- Prisma
- Dotenv
- OpenAI
- Zod
- Next.JS
- React
- TypeScript
- Tailwind CSS
- Axios
- FFmpeg
- Shadcn UI
A aplicação está dividida entre o Back-end na pasta (server) e o Front-end na pasta (client).
Porém ao fazer o clone do projeto as duas já vão vir no arquivo, basta abrir um VSCode (ou qualquer que seja a IDE) para cada pasta.
Para executar a aplicação em sua máquina localmente, certifique-se de ter o Node.js
e o npm
instalados antes de prosseguir com as etapas abaixo:
- Clone o projeto:
$ git clone https://github.com/ederbiason/ai-videohelper.git
- Acesse a pasta do projeto:
$ cd ai-videohelper
- Acesse o Front-end:
$ cd client
- Instale as dependências:
$ npm install
- Inicie o servidor:
$ npm run dev
- Acesse o Back-end:
$ cd server
- Instale as dependências:
$ npm install
- Execute as migrações:
$ npx prisma migrate dev
- Inicie o servidor:
$ npm run dev
- [x] **Desafio de Integração com API**: Integre o GitHub Actions com uma API externa, como um serviço de notificação.
- [x] **Desafio de Configuração de Badge**: Adicione um badge de status do GitHub Actions ao seu README.md para mostrar o status do pipeline.
- [x] **Desafio de Variáveis de Ambiente**: Utilize variáveis de ambiente no GitHub Actions para armazenar informações sensíveis, como chaves de API.
- [x] **Desafio de Análise de Desempenho**: Utilize ferramentas como Lighthouse para avaliar o desempenho do site e implemente otimizações.
- [x] **Desafio de Branch Protegida**: Configure a branch principal como protegida, exigindo revisões de código antes de mesclar pull requests.
Esta Action verifica se tudo está configurado corretamente, instala as ferramentas necessárias e constrói o projeto, tanto a parte do front-end quanto do back-end. Depois, ele roda todos os testes para ter certeza de que tudo está funcionando como deveria.
Esta Action possui duas etapas: a primeira é para clonar o repositório e a segunda é para realizar uma revisão de dependências utilizando uma ação específica para isso. Essa configuração ajuda a automatizar a revisão de dependências em novos pull requests.
Esta Action é acionada em todos os pushes e pull_requests do projeto, sempre que algo chega na branch principal a Action é executada.
Esta Action integra o GitHub Actions com a API da OpenAI, que também foi utilizada no projeto. Ele usa um script local para realizar uma tarefa de completamento com a OpenAI.
Este projeto está sob a licença MIT.