O Gallery Plus API é um backend desenvolvido em Node.js com NestJS, Prisma e PostgreSQL, focado no gerenciamento de álbuns e fotos. Permite cadastrar, organizar e armazenar imagens de forma eficiente, com recursos de busca, filtros, associação a múltiplos álbuns e integração com armazenamento em nuvem (Backblaze B2). Ideal para aplicações que precisam de um sistema robusto para manipulação de imagens e organização de galerias.
- CRUD de álbuns
- CRUD de fotos
- Relacionar fotos a múltiplos álbuns
- Upload e armazenamento de imagens em nuvem (Backblaze B2)
- Busca de fotos por termo e filtro por álbum
- Configuração por variáveis de ambiente
- NestJS — framework para construção da API em Node.js
- Prisma ORM — mapeamento objeto-relacional e acesso ao banco de dados
- PostgreSQL — banco de dados relacional utilizado
- Docker — conteinerização dos serviços para facilitar o desenvolvimento
- Backblaze B2 — armazenamento de imagens em nuvem
- AWS SDK — Backblaze disponibiliza uma API compatível com o Amazon S3. Isso significa que você pode usar as mesmas chamadas que faria no Amazon S3, apenas mudando a configuração do endpoint e das credenciais.
- class-validator — validação de dados recebidos nos DTOs da aplicação
- Zod — validação e tipagem de dados, especialmente útil para schemas e validação avançada
git clone https://github.com/2joliveira/gallery-plus-api.git
cd gallery-plus-apiyarn install
# ou
npm installCrie um arquivo .env na raiz do projeto com as variáveis necessárias (veja exemplos em src/env/).
docker-compose up -dyarn prisma migrate dev
# ou
npx prisma migrate devyarn start:dev
# ou
npm run start:devnpm run start:dev: inicia o servidor em modo desenvolvimentonpx prisma studio: abre o Prisma Studio para visualizar o banco de dados
MIT Check out a few resources that may come in handy when working with NestJS: