Skip to content

Commit

Permalink
feat: Add API de Cadastro de Usuário
Browse files Browse the repository at this point in the history
  • Loading branch information
robertotcestari committed Jul 4, 2024
1 parent 7493b8c commit 22f2c44
Show file tree
Hide file tree
Showing 3 changed files with 136 additions and 14 deletions.
121 changes: 121 additions & 0 deletions src/app/register-user/page.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
export const metadata = {
title: 'Register User API',
description: 'Aprenda sobre a API de cadastro de usuários do Codante.io e como utilizá-la em seus projetos.',
}

# Register User API (Cadastro de Usuário)

A API de Cadastro de Usuário é uma API que simula a **validação** e **cadastro** de um usuário. Ela é utilizada pelo Mini Projeto [Formulário Dinâmico com React Hook Form e Zod](https://codante.io/mini-projetos/formulario-dinamico-com-react-hook-form-e-zod) .{{ className: 'lead' }}

Trata-se de um único endpoint que irá validar dados pessoais de um suposto usuário de uma aplicação.{{ className: 'lead' }}

## Autenticação

A API de pedidos do Codante.io não requer autenticação para acessar os pedidos.

## Rate Limit

A API de Cadastro de Usuário do Codante.io possui um limite de taxa de 100 solicitações por minuto. Se você exceder esse limite, receberá um código de status 429. O uso indiscriminado também poderá levar ao bloqueio do seu IP.

## Base URL

A URL base para a API de pedidos do Codante.io é `https://apis.codante.io/api/register-user`.


---

## Cadastro de Usuário {{ tag: 'POST', label: '/register-user/register' }}

<Row>
<Col>

Este é o único endpoint da API e irá validar os dados de cadastro bem como simular um cadastro caso os dados estejam corretos.

### Atributos obrigatórios

<Properties>
<Property name="name" type="string">
Nome completo do usuário.
</Property>
<Property name="email" type="string">
Email do usuário.
</Property>
<Property name="password" type="string">
Senha do usuário.
</Property>
<Property name="password_confirmation" type="string">
Confirmação da senha do usuário. Deve ser igual à senha. Deverá ter no mínimo 8 caracteres.
</Property>
<Property name="cpf" type="string">
CPF do usuário. Deverá ser um CPF válido no formato `000.000.000-00`.
</Property>
<Property name="phone" type="string">
Telefone do usuário. Deverá ser um telefone no formato `(00) 00000-0000`.
</Property>
<Property name="zipcode" type="string">
CEP do usuário. Deverá ser um CEP válido no formato `00000-000`.
</Property>
<Property name="address" type="string">
Endereço do usuário.
</Property>
<Property name="city" type="string">
Cidade do usuário.
</Property>
<Property name="terms" type="boolean">
Cidade do usuário.
</Property>


</Properties>

</Col>
<Col sticky>

<CodeGroup title="Request" tag="GET" label="/orders-api/orders">

```bash {{ title: 'cURL' }}
curl -G https://apis.codante.io/api/orders-api/orders \
-d page=1
```

```js
const response = await fetch('https://apis.codante.io/api/register-user/register', {
method: 'POST',
body: JSON.stringify({
name: 'Benjamin Pacheco',
email: 'teste@teste.com',
password: '123456',
password_confirmation: '123456',
cpf: '123.456.789-00',
phone: '(11) 99999-9999',
zipcode: '12345-678',
address: 'Rua Teste',
city: 'São Paulo',
})
const result = await response.json()
```
</CodeGroup>
```json {{ title: 'Response' }}
{
"message": "User registered.",
"user": {
"name": "João Silva",
"email": "joao.silva@example.com",
"password": "senhaSegura123",
"password_confirmation": "senhaSegura123",
"terms": true,
"phone": "11987654321",
"cpf": "350.519.788-27",
"zipcode": "12345-670",
"address": "Rua Exemplo, 123",
"city": "Cidade Exemplo"
}
}
```
</Col>
</Row>
1 change: 1 addition & 0 deletions src/components/Navigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ export const navigation: Array<NavGroup> = [
links: [
// { title: 'Frases Motivacionais', href: '/frases-motivacionais' },
{ title: 'Orders API (Pedidos)', href: '/orders-api' },
{ title: 'API de Cadastro de Usuário', href: '/register-user' },
],
},
]
Expand Down
28 changes: 14 additions & 14 deletions src/components/Resources.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,20 +42,20 @@ const resources: Array<Resource> = [
],
},
},
// {
// href: '/conversations',
// name: 'Conversations',
// description:
// 'Learn about the conversation model and how to create, retrieve, update, delete, and list conversations.',
// icon: ChatBubbleIcon,
// pattern: {
// y: -6,
// squares: [
// [-1, 2],
// [1, 3],
// ],
// },
// },
{
href: '/register-user',
name: 'Api de Cadastro de Usuário',
description:
'Um endpoint simples para validar e simular o cadastro de usuários em sua aplicação.',
icon: UserIcon,
pattern: {
y: -6,
squares: [
[-1, 2],
[1, 3],
],
},
},
// {
// href: '/messages',
// name: 'Messages',
Expand Down

0 comments on commit 22f2c44

Please sign in to comment.