
1. Tipos de Usuários
1.1. Usuário final
1.2. Estabelecimento
1.3. Admin do sistema
2. Funcionalidades Principais
2.1. Usuário Final
2.1.1. Visualização de Pedidos
2.1.2. Login/Cadastro
2.1.3. Carrinho de compras (com checkout)
2.1.4. Listagem de produtos
2.2. Estabelecimento
2.2.1. Gestão de pedidos
2.2.2. Gestão de produtos
2.3. Admin do sistema
2.3.1. Gestão de Estabelecimentos
3. Tecnologias
3.1. NextJS (Com SSR)
3.2. Prisma (ORM)
3.3. API RESTful (no próprio NextJS)
3.4. Typescript
4. Telas
4.1. Usuário Final
4.1.1. Home (Listagem de promoções e produtos)
4.1.1.1. Endpoints
4.1.1.1.1. GET - Pegar lista de promoções
4.1.1.1.2. GET - Pegar lista de produtos
4.1.2. Página do produto específico
4.1.2.1. Endpoints
4.1.2.1.1. GET - Pegar informações do produto único
4.1.3. Carrinho de compras
4.1.3.1. Endpoints
4.1.3.1.1. GET - Calcular frete baseado no bairro
4.1.4. Login/Cadastro
4.1.4.1. Endpoints
4.1.4.1.1. POST - Fazer o cadastro do usuário
4.1.4.1.2. POST - Fazer o login do usuário
4.1.5. Esqueci minha senha
4.1.5.1. Endpoints
4.1.5.1.1. POST - Envio do e-mail de esqueci senha
4.1.6. Checkout
4.1.6.1. Endpoints
4.1.6.1.1. GET - Pegar endereços do usuário
4.1.6.1.2. POST - Fazer o pedido
4.1.7. Cadastro de endereços
4.1.7.1. Endpoints
4.1.7.1.1. POST - Cadastrar um endereço
4.1.8. Lista de pedidos
4.1.8.1. Endpoints
4.1.8.1.1. GET - Pegar lista de pedidos do usuário
4.1.9. Pedido Individual
4.1.9.1. Endpoints
4.1.9.1.1. GET - Pegar informações de um pedido único
4.1.9.1.2. GET - Pegar status do pedido
4.2. Estabelecimento
4.2.1. Login para estabelecimento
4.2.1.1. Endpoints
4.2.1.1.1. POST - Logar o estabelecimento
4.2.2. Listagem de pedidos
4.2.2.1. Endpoints
4.2.2.1.1. GET - Listar pedidos do estabelecimento
4.2.3. Edição de pedidos
4.2.3.1. Endpoints
4.2.3.1.1. GET - Pegar informações do pedido único
4.2.3.1.2. GET - Pegar lista de produtos
4.2.3.1.3. PUT - Salvar alterações do pedido único
4.2.4. Listagem de produtos
4.2.4.1. Endpoints
4.2.4.1.1. GET - Pegar lista de produtos
4.2.4.1.2. DELETE - Excluir um produto (soft-delete)
4.2.5. Edição de produtos
4.2.5.1. Endpoints
4.2.5.1.1. GET - Pegar informações de um produto
4.2.5.1.2. POST - Adicionar um produto
4.2.5.1.3. PUT - Editar um produto
4.3. Admin do sistema
4.3.1. Listagem de estabelecimentos
4.3.1.1. Endpoints
4.3.1.1.1. GET - Pegar lista de estabelecimentos
4.3.2. Edição de estabelecimentos
4.3.2.1. Endpoints
4.3.2.1.1. GET - Pegar informações de um estabelecimento único
4.3.2.1.2. POST - Adicionar novo estabelecimento
4.3.2.1.3. PUT - Alterar informações do estabelecimento
4.3.3. Listagem de usuários
4.3.3.1. Endpoints
4.3.3.1.1. GET - Pegar a lista de usuários