Skip to content

API desenvolvida em Node.js com utilizando Nest, Prisma e PostgreSQL para gerenciamento de álbuns e fotos. Oferece cadastro, organização, busca e armazenamento de imagens, com integração a serviços de nuvem (Backblaze B2, AWS S3) e validação robusta de dados utilizando class-validator e Zod.

Notifications You must be signed in to change notification settings

2joliveira/gallery-plus-api

Repository files navigation

Gallery Plus API

Sobre

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.


Funcionalidades

  • 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

Tecnologias Utilizadas

  • 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

Como rodar o projeto

1. Clone o repositório

git clone https://github.com/2joliveira/gallery-plus-api.git
cd gallery-plus-api

2. Instale as dependências

yarn install
# ou
npm install

3. Configure as variáveis de ambiente

Crie um arquivo .env na raiz do projeto com as variáveis necessárias (veja exemplos em src/env/).

4. Suba o banco de dados com Docker

docker-compose up -d

5. Rode as migrations do Prisma

yarn prisma migrate dev
# ou
npx prisma migrate dev

6. Inicie a aplicação

yarn start:dev
# ou
npm run start:dev

Scripts úteis

  • npm run start:dev: inicia o servidor em modo desenvolvimento
  • npx prisma studio: abre o Prisma Studio para visualizar o banco de dados

Licença

MIT Check out a few resources that may come in handy when working with NestJS:

About

API desenvolvida em Node.js com utilizando Nest, Prisma e PostgreSQL para gerenciamento de álbuns e fotos. Oferece cadastro, organização, busca e armazenamento de imagens, com integração a serviços de nuvem (Backblaze B2, AWS S3) e validação robusta de dados utilizando class-validator e Zod.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published