Este é um projeto backend desenvolvido em Node.js com TypeScript, focado em facilitar o upload e download de arquivos na R2 da Cloudflare. O projeto utiliza Prisma como ORM para interação com o banco de dados, Zod para validação de dados e Swagger para documentação na rota /docs
.
Certifique-se de ter o seguinte instalado em seu sistema:
- Node.js
- pnpm (Yarn ou npm)
- R2 da Cloudflare (API Key necessária)
- Docker
Siga estas etapas para configurar e executar o backend em seu ambiente local:
-
Clone este repositório para o seu sistema local usando o seguinte comando:
git clone https://github.com/J0aoCunha/Ts-Node-uploads
-
Navegue até o diretório do projeto:
cd Ts-Node-uploads
-
Crie um arquivo
.env
na raiz do projeto e defina as seguintes variáveis de ambiente:CLOUDFLARE_ENDPOINT=SuaURLAPI CLOUDFLARE_ACESS_KEY_ID=SuaR2Key CLOUDFLARE_SECRET_ACCESS_KEY=SuaR2KeyPrivada DATABASE_URL=URLBANCODEDADOS
-
Instale as dependências do projeto executando o seguinte comando:
pnpm install # ou npm install # ou yarn install
-
Execute as migrações do banco de dados com o Prisma:
npx prisma migrate dev
-
Inicie o servidor:
pnpm install # ou npm install # ou yarn install
-
O servidor será iniciado e estará disponível em http://localhost:3000.
-
Acesse a documentação Swagger em http://localhost:3000/docs para explorar e testar as rotas disponíveis.