---
# System prepended metadata

title: Projeto Mini-Instagran

---

#    Projeto Mini-Instagran

## O que o usuario pode fazer?
- Fazer Login;
- Fazer Cadastro;
- Acessar as proprias informações de Perfil; 
- Editar Cadastro;
- Ver Publicações- Ver quantidade de curtidas;
    - Ver comentarios de Postagem;
- Curtir postagens;
- Comentar Postagens;
    
- 

## O que o não será possível fazer?
- Localização da postagem;
- Ver pessoas que curtiram a postagem;
- Curtir comentario;
- Comentar outros comentários;
- "Esqueci minha senha";
---

## End-Points
---

### POST - Login

#### Dados enviados
- Username
- Senha
#### Dados retornados
- Sucesso/Error

#### Objetivos Gerais
- Validar username e senha
- Buscar usuario no banco de dados
- Verificar senha informada
- Gerar token de autenticação
- Retornar dados de usuario e Token gerado

---

### POST - Cadastro

#### Dados enviados
- Nome
- Username
- Senha
#### Dados retornados
- Sucesso/Error
- Token
- 
#### Objetivos Gerais
- Validar username e senha
- Verificar se username já é existente no Banco
- Criptografar senha
- Cadastrar Usuario no Banco
- Sucesso / Error

---

### GET - Perfil

#### Dados enviados
- Token (Tendo o Id, ou Username)
- Perfil
#### Dados retornados
- URL Foto(se tiver)
- Nome
- Username
- Site
- Bio
- Telefone
- Genero

#### Objetivos Gerais
- Validar token do usuario
- Buscar cadastro do Usuario pelo Token
- Retornar os dados do usuario

--- 
### PUT - Perfil

#### Dados enviados
- Token (Tendo o Id, ou Username)
- Perfil
#### Dados retornados
- URL Foto(se tiver)
- Nome
- Username
- Site
- Bio
- Telefone
- Genero

#### Objetivos Gerais
- Validar token usuario
- Buscar cadastr do usuario com a informação do Token
- Exigir ao menos 01 campo para atualização
- Criptografar senha se informada
- verificar Email e username já existem no Banco, se informados

--- 
### GET - Postagens

#### Dados enviados
- Token (Tendo o Id, ou Username)
- Offset
    
#### Dados retornados
- Postagens []
    - ID
    - Texto
    - Curtido pelo usuario
    - Usuario
        - URL foto
        - username
        - verificação de pertil
    - Fotos[]
    - Quantidade de Curtidas
    - Comentarios[]
        - username
        - texto
    - Data
    - 
#### Objetivos Gerais
- Validar token usuario
- Buscar cadastr do usuario com a informação do Token
- Exigir ao menos 01 campo para atualização
- Criptografar senha se informada
- verificar Email e username já existem no Banco, se informados



---
 
### GET - Postagens

#### Dados enviados
- Token (Tendo o Id, ou Username)
- Texto
- Array com fotos
    
#### Dados retornados
- Sucesso / Error

#### Objetivos Gerais
- Validar token usuario
- Buscar cadastro do usuario com a informação do Token
- Exigir ao menos 01 foto no array
- Cadastrar postagem para o usuario logado
- Cadastro das fotos da postagem
- Sucesso / Error

---

### POST - Curtir

#### Dados enviados
- Token
- ID postagem

#### Dados retornados
- Sucesso / Error


#### Objetivos Gerais
- Validar token usuario
- Buscar cadastro do usuario com a informação do Token
- Buscar o cadastro da postagem com o Id informado
- Verificar se o usuario já curtiu
- Cadastrar curtida da postagem
- Sucesso / Error

---

### POST - Comentario

#### Dados enviados
- Token
- ID postagem
- Texto

#### Dados retornados
- Sucesso / Error


#### Objetivos Gerais
- Validar token usuario
- Buscar cadastro do usuario com a informação do Token
- Validar texto
- Buscar postagem com o Id informado
- Cadastrar comentario
- Sucesso / Error
