Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/welisonw/nlw13_2023-mastery-upload-ai
Aplicação que possibilita realizar upload de videos por meio de IA, criar automaticamente títulos chamativos e descrições com um boa indexação.
https://github.com/welisonw/nlw13_2023-mastery-upload-ai
ai nlw nlw-ai rocketseat
Last synced: about 2 months ago
JSON representation
Aplicação que possibilita realizar upload de videos por meio de IA, criar automaticamente títulos chamativos e descrições com um boa indexação.
- Host: GitHub
- URL: https://github.com/welisonw/nlw13_2023-mastery-upload-ai
- Owner: welisonw
- Created: 2023-09-12T16:18:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-20T17:06:10.000Z (over 1 year ago)
- Last Synced: 2023-09-21T07:04:15.346Z (over 1 year ago)
- Topics: ai, nlw, nlw-ai, rocketseat
- Language: TypeScript
- Homepage:
- Size: 23.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Aplicação construída no NLW AI da Rocketseat na trilha Mastery.
Sobre o Projeto |
Tecnologias e ferramentas |
Instalação e utilização |
Licença
## 🗒️ Sobre o projeto
Desenvolvida na trilha Mastery na edição NLW IA da Rocketseat, a aplicação **upload.ai** permite ao usuário fazer o upload de um vídeo e, por meio da API da OpenAI, criar automaticamente títulos chamativos e descrições com um boa indexação com base no prompt personalizado.## 🛠️ Tecnologias e ferrementas utilizadas
### Back end (api)
- [TypeScript](https://www.typescriptlang.org/)
- [Node.js](https://nodejs.org/en)
- [Fastify](https://fastify.dev/)
- [Prisma](https://www.prisma.io/)
- [Zod](https://zod.dev/)
- [SQLite](https://www.sqlite.org/index.html)
- [OpenAi](https://www.npmjs.com/package/openai)
- [Vercel AI SDK](https://vercel.com/blog/introducing-the-vercel-ai-sdk)### Front end (web):
- [TypeScript](https://www.typescriptlang.org/)
- [React](https://react.dev/)
- [Vite](https://vitejs.dev/)
- [TailwindCSS](https://tailwindcss.com/)
- [Axios](https://axios-http.com/)
- [Radix UI](https://www.radix-ui.com/)
- [Shadcn/ui](https://ui.shadcn.com/)
- [Lucide React](https://lucide.dev/guide/packages/lucide-react)
- [FFmpeg](https://ffmpeg.org/)
- [Vercel AI SDK](https://vercel.com/blog/introducing-the-vercel-ai-sdk)## 💻 Instalação e utilização
Para executar a aplicação em sua máquina localmente, certifique-se de ter o Node.js e um gerenciador de pacotes instalados antes de prosseguir com as etapas abaixo:> Nesse projeto foi utilizado o [**pnpm**](https://pnpm.io/) como gerenciador de pacotes, que busca economizar espaço em disco e acelerar a instalação de pacotes devido à sua abordagem de armazenamento de dependências compartilhado.
##### Passo 1: Clone este repositório
```bash
$ git clone https://github.com/welisonw/nlw13_2023-mastery-upload-ai.git
```### Back end (api)
##### Passo 1: Acesse a pasta do projeto
```bash
$ cd nlw13_2023-mastery-upload-ai/api
```##### Passo 2: Instale as dependências
```bash
# pnpm
$ pnpm install# npm
$ npm install# yarn
$ yarn install
```##### Passo 3: Crie o arquivo `.env` com as variáveis de ambiente necessárias:
```bash
DATABASE_URL="file:./dev.db"
OPENAI_KEY=*sua OpenAI key*
```
> ⚠️ **Importante**: No campo `DATABASE_URL`, especifique a URL do banco de dados que deseja utilizar. Crie uma conta no site [OpenAI](https://openai.com/), obtenha sua chave da API e preencha-o no campo `OPENAI_KEY`.##### Passo 4: Gere o client do Prisma
```bash
# pnpm
pnpm prisma generate# npm
npm prisma generate# yarn
yarn prisma generate
```##### Passo 5: Execute as migrations do banco de dados:
```bash
# pnpm
pnpm prisma migrate dev# npm
npm prisma migrate dev# yarn
yarn prisma migrate dev
```##### Passo 6: Inicie o projeto
```bash
# pnpm
pnpm run dev# npm
npm run dev# yarn
yarn run dev
```O servidor estará disponível em http://localhost:3333.
### Front end (web)
##### Passo 1: Acesse a pasta do projeto
```bash
$ cd nlw13_2023-mastery-upload-ai/web
```##### Passo 2: Instale as dependências
```bash
# pnpm
$ pnpm install# npm
$ npm install# yarn
$ yarn install
```##### Passo 3: Inicie o projeto
```bash
# pnpm
pnpm run dev# npm
npm run dev# yarn
yarn run dev
```A aplicação estará disponível em http://localhost:5173.
## 📝 Licença
Esse projeto está sob a licença **MIT**. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.