# 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