Visão geral do projeto, um pouco das tecnologias usadas.
A URL base da aplicação: https://phone-book-deploy.onrender.com/
Voltar para o topo
2.1. Instalando Dependências
Clone o projeto em sua máquina e instale as dependências com o comando:
2.2. Variáveis de Ambiente
Em seguida, crie um arquivo .env, copiando o formato do arquivo .env.example:
Configure suas variáveis de ambiente com suas credenciais do Postgres e uma nova database da sua escolha.
Execute as migrations com o comando:
yarn typeorm migration:run -d src/data-source.ts
Voltar para o topo
Voltar para os Endpoints
O objeto User é definido como:
Campo |
Tipo |
Descrição |
id |
string |
Identificador único do usuário |
name |
string |
O nome do usuário |
email |
string |
O e-mail do usuário |
password |
string |
A senha de acesso do usuário |
phone |
string |
O número de telefone do usuário |
createdAt |
date |
Data de criação da conta |
Método |
Rota |
Descrição |
POST |
/users |
Criação de um usuário |
GET |
/users |
Lista todos os usuários |
GET |
/users/:user_id |
Lista um usuário usando seu ID como parâmetro |
PATCH |
/users/:user_id |
Atualiza as informações de um usuário usando seu ID como parâmetro |
DELETE |
/users/:user_id |
Deleta um usuário usando seu ID como parâmetro |
Voltar para os Endpoints
POST /users
Host:
Authorization: None
Content-type: application/json
{
"name": "Eduardo",
"email": "edu@mail.com",
"phone": "5511998989898",
"password": "1234",
}
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Eduardo",
"email": "edu@mail.com",
"phone": "5541998989898",
"createdAt": "2023-02-01T14:24:55.580Z"
}
Código do Erro |
Descrição |
400 Bad Request |
Email already being used |
Voltar aos Endpoints
GET /users
Host:
Authorization: Bearer Token
Content-type: application/json
[
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Eduardo",
"email": "edu@mail.com",
"phone": "5541998989898",
"createdAt": "2023-02-01T14:24:55.580Z"
}
]
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
1.3. Listar Usuário por ID
Voltar aos Endpoints
GET /users/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host:
Authorization: Bearer Token
Content-type: application/json
Parâmetros da Requisição:
Parâmetro |
Tipo |
Descrição |
user_id |
string |
Identificador único do usuário (User) |
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Eduardo",
"email": "edu@mail.com",
"phone": "5541998989898",
"createdAt": "2023-02-01T14:24:55.580Z"
}
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
404 Not Found |
User not found |
1.4. Atualizar Usuário por ID
Voltar aos Endpoints
PATCH /users/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host:
Authorization: Bearer Token
Content-type: application/json
Parâmetros da Requisição:
Parâmetro |
Tipo |
Descrição |
user_id |
string |
Identificador único do usuário (User) |
{
"name": "Eduardo Santos",
}
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Eduardo Santos",
"email": "edu@mail.com",
"phone": "5541998989898",
"createdAt": "2023-02-01T14:24:55.580Z"
}
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
401 Unauthorized |
Not the same user who is logged |
401 Unauthorized |
Can not change the user's id and/or email |
404 Not Found |
User not found |
1.5. Deletar Usuário por ID
Voltar aos Endpoints
DELETE /users/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host:
Authorization: Bearer Token
Content-type: application/json
Parâmetros da Requisição:
Parâmetro |
Tipo |
Descrição |
user_id |
string |
Identificador único do usuário (User) |
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
401 Unauthorized |
Not the same user who is logged |
404 Not Found |
User not found |
Voltar para os Endpoints
POST /login
Host:
Authorization: None
Content-type: application/json
{
"email": "edu@mail.com",
"password": "1234",
}
{
"token": "eufghueiaydidudiddchygyegffehf..."
}
Código do Erro |
Descrição |
403 Forbidden |
Incorrect email or password |
Voltar para os Endpoints
O objeto Contact é definido como:
Campo |
Tipo |
Descrição |
id |
string |
Identificador único do contato |
name |
string |
O nome do contato |
email |
string |
O e-mail do contato |
phone |
string |
O número de telefone do contato |
createdAt |
date |
Data de criação do contato |
Método |
Rota |
Descrição |
POST |
/contacts |
Criação de um contato |
GET |
/contacts |
Lista todos os contatos do usuário |
GET |
/contacts/:contact_id |
Lista um contato usando seu ID como parâmetro |
PATCH |
/contacts/:contact_id |
Atualiza as informações de um contato usando seu ID como parâmetro |
DELETE |
/contacts/:contact_id |
Deleta um contato usando seu ID como parâmetro |
Voltar para os Endpoints
POST /contacts
Host:
Authorization: Bearer Token
Content-type: application/json
{
"name": "Lucas",
"email": "lucas@mail.com",
"phone": "5511997979797",
}
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Lucas",
"email": "lucas@mail.com",
"phone": "5511997979797",
"createdAt": "2023-02-01T14:24:55.580Z"
}
Código do Erro |
Descrição |
400 Bad Request |
One of your contacts already has this email |
400 Bad Request |
One of your contacts already has this phone number |
401 Unauthorized |
Invalid token |
3.2. Listando Contatos do Usuário
Voltar aos Endpoints
GET /contacts
Host:
Authorization: Bearer Token
Content-type: application/json
[
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Lucas",
"email": "lucas@mail.com",
"phone": "5511997979797",
"createdAt": "2023-02-01T14:24:55.580Z"
}
]
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
3.3. Listar Contato por ID
Voltar aos Endpoints
GET /contacts/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host:
Authorization: Bearer Token
Content-type: application/json
Parâmetros da Requisição:
Parâmetro |
Tipo |
Descrição |
contact_id |
string |
Identificador único do contato (Contact) |
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Lucas",
"email": "lucas@mail.com",
"phone": "5511997979797",
"createdAt": "2023-02-01T14:24:55.580Z"
}
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
404 Not Found |
Contact not found |
3.4. Atualizar Contato por ID
Voltar aos Endpoints
PATCH /contacts/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host:
Authorization: Bearer Token
Content-type: application/json
Parâmetros da Requisição:
Parâmetro |
Tipo |
Descrição |
contact_id |
string |
Identificador único do contato (Contact) |
{
"name": "Lucas Silva",
}
{
"id": "9cda28c9-e540-4b2c-bf0c-c90006d37893",
"name": "Lucas Silva",
"email": "lucas@mail.com",
"phone": "5511997979797",
"createdAt": "2023-02-01T14:24:55.580Z"
}
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
404 Not Found |
Contact not found |
3.5. Deletar Contato por ID
Voltar aos Endpoints
DELETE /contacts/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host:
Authorization: Bearer Token
Content-type: application/json
Parâmetros da Requisição:
Parâmetro |
Tipo |
Descrição |
contact_id |
string |
Identificador único do contato (Contact) |
Código do Erro |
Descrição |
401 Unauthorized |
Invalid token |
404 Not Found |
Contact not found |