-
Clone o repositório:
git clone https://github.com/vinisooo/contact-book-api.git
-
Navegue até o diretório do projeto:
cd contact-book-api
-
Instale as dependências do projeto utilizando o npm:
npm install
-
Inicie a API localmente:
npm run dev
-
Pronto! Agora a API deverá estar rodando localmente na porta 3001
http://localhost:3001
-
Acesse o front-end do projeto:
Ver repositório
Acessar front-end do projeto
Endpoint: POST /users/register
Envio:
{ "name": "user", "email": "user@mail.com", "phone": "+55 00 000000000", "password": "password123" }
Resposta:
{ "id": 1, "name": "user", "email": "user@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30" }
Endpoint: GET /users/logged/:id
Parâmetros:
id
(número) - ID do usuário logadoToken
(string) - Token de autenticação
Exemplo de resposta:
{ "id": 1, "name": "user", "email": "user@mail.com", "password": "$2a$10$toa3ha4.Hg6ZN0/ijYNkhelzHstHKC3Gn6i4fUwuOBbhYd1rEEu1m", "phone": "+55 00 000000000", "createdAt": "2023-05-27", "contacts": [] }
Endpoint: GET /users
Resposta:
[ { "id": 2, "name": "user1", "email": "user2@gmail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-28" }, { "id": 3, "name": "user2", "email": "user2@gmail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-28" } ]
Endpoint: GET /users/:id
Parâmetros:
id
(número) - ID do usuário
Exemplo de resposta:
{ "id": 1 "name": "user", "email": "user@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-24" }
Endpoint: DELETE /users/:id
Parâmetros:
id
(número) - ID do usuário logadoToken
(string) - Token de autenticação
Resposta: 204 No Content
Endpoint: PATCH /users/:id
Parâmetros:
id
(número) - ID do usuário logadoToken
(string) - Token de autenticação
Corpo da requisição:
{ "name": "updated User", "email": "uer@mail.com", "phone": "+55 00 0000000000" }
Exemplo de resposta:
{ "id": 7, "name": "updated User", "email": "user@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30" }
Endpoint: GET /users/:id/contacts
Parâmetros:
id
(número) - ID do usuário logadoToken
(string) - Token de autenticação
Exemplo de resposta:
[ { "id": 2, "name": "contact1", "email": "contact1@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30" }, { "id": 3, "name": "contact2", "email": "contact2@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30" } ]
Endpoint: POST /contacts
Parâmetros:
Token
(string) - Token de autenticação
Corpo da requisição:
{ "name": "contact", "phone": "+55 00 000000000", "email": "contact@mail.com" }
Exemplo de resposta:
{ "name": "contact", "email": "contact@mail.com", "phone": "+55 00 000000000", "user": { "id": 1, "name": "user", "email": "user@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30" }, "id": 2, "createdAt": "2023-05-30" }
Endpoint: GET /contacts/:id
Parâmetros:
id
(número) - ID do contatoToken
(string) - Token de autenticação do dono do contato
Exemplo de resposta:
{ "id": 3, "name": "contact", "email": "contact@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30", "user": { "id": 1, "name": "user", "email": "user@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30" } }
Endpoint: PATCH /contacts/:id
Parâmetros:
id
(número) - ID do contatoToken
(string) - Token de autenticação do dono do contato
Corpo da requisição:
{ "name": "updated contact", "email": "updatedmail@mail.com", "phone": "+55 00 000000001" }
Exemplo de resposta:
{ "id": 3, "name": "updated contact", "email": "updatedmail@mail.com", "phone": "+55 00 000000001", "createdAt": "2023-05-30", "user": { "id": 1, "name": "user", "email": "user@mail.com", "phone": "+55 00 000000000", "createdAt": "2023-05-30" } }
Endpoint: DELETE /contacts/:id
Parâmetros:
id
(número) - ID do contatoToken
(string) - Token de autenticação do dono do contato
Resposta: 204 No Content