EXEMPLO, APENAS UM EXEMPLO, MEU DEUS, É UM EXEMPLO SÓ NÃO PRECISA SER ASSIM, SIM É UM EXEMPLO
Link do exemplo: https://www.figma.com/file/gBUKJlW0GJGpsNEuUVMa3u/Figma-Admin-Dashboard-UI-Kit-(Community)?node-id=0%3A1
https://github.com/jenicarvalho/fake-api-emporio
-
DESLOGADO
- login
-
LOGADO
- Home
- número de produtos cadastrados
- número de usuários cadastrados
- Usuários (apenas administradores acessam)
- Página para listar todos os usuários (nome e role) com botão para excluir (apenas o administrador pode ver o botão excluir)
- Página para cadastrar com os campos:
- name
- password
- role (admin ou editor)
- Produtos
- Página para listar todos (nome e preço) com botão para excluir (apenas o administrador pode ver o botão excluir)
- Página para cadastrar com os campos:
- title
- price
- description
- image (link da imagem)
- Home
-
Crud usuários
- Com 2 níveis: administrador e editor
-
Crud produtos
- Pode cadastrar e excluir qualquer usuário
- Pode cadastrar e excluir os produtos
- Pode cadastrar um produto
- Não pode excluir um produto
- Não pode ver a página usuários
- Não pode fazer nada com outros usuários
-
LISTAR PRODUTO
- [GET] - http://localhost:4000/beers/
-
DELETAR PRODUTO
- [DELETE] - http://localhost:4000/beers/id
-
CADASTRAR PRODUTO
- [POST] - http://localhost:4000/beers/
exemplo de post
{
"title": "Pack Cerveja Michelob Ultra Light Lager 355ml (6 unidades)",
"price": "R$ 29,94",
"description": "Michelob Ultra",
"image": "https://emporiodacerveja.vtexassets.com/arquivos/ids/179041-1200-auto?width=1200&height=auto&aspect=true"
}-
LISTAR USUÁRIOS
- [GET] - http://localhost:4000/users?role=admin&role=editor (isso recupera só os usuarios admnistradores e editores, não retorna usuários comuns)
-
DELETAR USUÁRIOS
- [DELETE] - http://localhost:4000/users/id
-
CADASTRAR USUÁRIO
- [POST] - http://localhost:4000/users/
exemplo de post
{
"email": "[email protected]",
"password": "123123",
"name": "Jeniffer",
"role": "admin" //(ou editor)
}- LOGAR
- [POST] - http://localhost:4000/login/
exemplo de post
{
"email": "[email protected]",
"password": "123123"
}- Recuperar o token (post na api de login)
- abrir o token e recuperar o id (usar o react-jwt decodeToken)
- usar o id para fazer um GET na api de usuários (pegar o sub de dentro do decodeToken e usar ele como id do usuário)
- armazenar o resultado em um estado global
- email: [email protected] | senha: 123123
- email: [email protected] | senha: 123123