https://github.com/caionikolas/desafio-big-data
Desafio API usando NestJs utilizando Cloudinary
https://github.com/caionikolas/desafio-big-data
cloudinary nestjs postgres prisma
Last synced: 2 months ago
JSON representation
Desafio API usando NestJs utilizando Cloudinary
- Host: GitHub
- URL: https://github.com/caionikolas/desafio-big-data
- Owner: caionikolas
- Created: 2024-08-24T20:29:20.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-08-31T00:34:15.000Z (9 months ago)
- Last Synced: 2025-03-08T18:46:46.026Z (3 months ago)
- Topics: cloudinary, nestjs, postgres, prisma
- Language: TypeScript
- Homepage:
- Size: 200 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Desafio API usando NestJs utilizando Cloudinary


## Descrição do Desafio:
Criar uma API usando NestJS que permita o upload, armazenamento e gerenciamento de imagens utilizando o Cloudinary como serviço de armazenamento na nuvem.## Tecnologias Utilizadas
- [Nest](https://nestjs.com/) - Framework Node.js destinado ao desenvolvimento de aplicativos do lado do servidor.
- [Docker](https://www.docker.com/) - Serviço que usa virtualização para entregar software em pacotes chamados contêineres.
- [Postgres](https://www.postgresql.org/) - Sistema gerenciador de banco de dados objeto relacional## Como Executar
1. Clone o repositório e acesse a pasta do projeto
```shell
git clone https://github.com/caionikolas/desafio-big-data.git
cd nome-do-repositorio
```
2. Instale os pacotes utilizando o comando `npm install`
3. Crie um arquivo `.env` na raiz do projeto e insira suas credencias. Utilize o arquivo `.env.example` como base.
4. Execute o projeto com o comando `npm start`## API Endpoints
A API fornece os seguintes endpoints:```markdown
POST /accounts - Registra um novo usuário.
{
"name": string
"email": string
"senha": string
}POST /sessions - Autentica um usuário
{
"email": string
"senha": string
}return "access_token": string
POST /images/upload - Faz upload de uma imagem na Cloudinary e registra uma nova imagem banco de dados.
- Auth: access_token
- Form: fileGET /images - Obtem todas as imagens de um usuário autenticado
- Auth: access_tokenDELETE /images/{cloudId} - Deleta uma imagem do servidor do cloudinary e do banco de dados de acordo com o seu cloudId
- Auth: access_token
{
"cloudId": string
}
```## Docker
Você pode rodar esse projeto com Docker seguindo os seguintes comandos:
```bash
$ docker-compose up
```