Giter Club home page Giter Club logo

catalogo-de-produtos's Introduction


"Sou aluno do Centro Universitário Cesmac, onde estudo Sistemas de Informação. Além dos meus estudos, também trabalho como freelancer e como colaborador de pesquisa na faculdade. Como freelancer, tenho trabalhado em alguns projetos, incluindo o desenvolvimento de uma Web Api em .NET. Como colaborador de pesquisa, tenho trabalhado em um projeto que promove o descarte consciente de lixos e medicamentos por meio de gamificação no qual fui responsável pelo desenvolvimento de uma Web Api Rest utilizando .NET Core."


Eugenio1997

Portfólio

📘 Projetos

Batteries Project Backend ColabProject ProductCatalog

All Repositories

Projetos em produção

Clique no card abaixo e você será redirecionado para uma tela na qual conterá a opção de utilizar o aplicativo versão Web ou baixar o aplicativo na Playstore

Catalogo-de-Produtos

Tecnologias

Aqui estão as tecnologias com as quais já trabalhei e tenho experiência prática.


Eugenio-HTML Eugenio-CSS Eugenio-BS Eugenio-JS Eugenio-TS Eugenio-React Eugenio-Angular Eugenio-.NET

Eugenio-SqlServer Eugenio-Postgres Eugenio-Mysql Eugenio-Docker Eugenio-Ubuntu Eugenio-Git Eugenio-Node Eugenio-Git

Contatos

Aqui você pode mandar um oi :)

Espero que você tenha gostado de conhecer um pouco mais sobre mim e meu trabalho. Agradeço pela visita!

catalogo-de-produtos's People

Contributors

eugenio1997 avatar

Stargazers

 avatar

Watchers

 avatar

catalogo-de-produtos's Issues

[Frontend] Tratar a condição de não ter sido encontrado o produto filtrado ou não existirem produtos cadastrados

Requisitos:

- Na condição de não existirem produtos cadastrados, os seguintes elementos não devem existir no DOM

  • Paginação
  • A listagem de produtos

- Caso não seja recuperado nenhum produto do banco, a seguinte mensagem deve ser exibida:

  • Não há produtos cadastrados.

- Caso não seja encontrado o produto digitado no campo de filtro , a seguinte mensagem deve ser exibida:

  • Produto não cadastrado.

[Backend] Remover o padrão repositório aplicado à api de produtos

Requisitos

  • Trazer toda a lógica para a camada de apresentação(WebApi) e ao fazer isso deve-se remover o padrão repositório apagando todos os arquivos pertinentes ao padrão.

Os arquivos a serem removidos são:

  • GenericRepository
  • IGenericRepository
  • ProductRepository
  • IProductRepository

[Backend] Criar tabelas Role e User

Depende da issue #39.

Schema das tabelas:

Usuario

  • Id
  • OrderId
  • RoleId
  • FirstName
  • LastName
  • CreatedAt
  • UpdatedAt

Role

  • Id
  • RoleId
  • Name

Relacionamentos:

LineItem (1-N <> 1-1) Product
Product (1-1 <> N-1) Comment
LineItem (1-N <> 1-1) Order
User (1-N <> 1-1) Role
User (1-1 <> N-1) Order
User (1-1 <> N-1) Comment

[Frontend] Fix input de buscar produto por nome

Apresentação do erro:

  • O input, ao apertar Enter quando está sem valor, está retornando todos os produtos.

Requisitos

  • Quando no input for pressionado a tecla Enter, na condição do input estar vazio, deve-se buscar nenhum produto.

[Frontend] Fix preco, de cada produto, sendo exibido na tela de listagem de produto

Requisitos

Comportamento atual:

  • O fluxo, do preço atual dos produtos, até ele ser exibido na tela de listagem:
    • O preço, um number, é recuperado do banco;

    • Esse preço está sendo passado para a função nomeada
      MoneyMask() e esta função divide por 100 todo e qualquer valor.

      • Por exemplo, se um produto custa 50 reais, ele será exibido na listagem com o preço de 0,50.

Comportamento Esperado:

  • O fluxo esperado:
    • Deve ser criada uma condicional dentro da função MoneyMask() e caso o preço passado para ela seja um tipo number, o valor deve ser formatado com duas casas decimais e caso o preço seja do tipo string deve ser dividido por 100;
    • Em seguida, o preço formatado deve ser concatenado com o 'R$', ficando assim 'R$ <preço>'

[Frontend] Fix input de busca por nome esta retornando todos os produtos

Requisitos

  • Comportamento Atual:
    • Ao pressionar a tecla Enter, no input de busca por nome, embora esteja vazio está sendo recuperado todos os produtos e sem paginação;
  • Comportamento Esperado:
    • Ao pressionar a tecla Enter, caso o input de busca por nome esteja vazio, não deve ser recuperado nenhum produto.

[Frontend] Fix nomes de metodo, variavel e array em product-list

Requisitos

O que está sendo feito é uma ordenação e suas opções são:

  • Crescente
  • Descrescente

No entanto os nomes estão com 'filter':

  • filterValue(variável)
  • filtersList(array de objetos)
  • fetchProductsByFilterName(método)
  • hasFilterName (método)
  • filterValue (parâmetro de um método)

Deve-se corrigir para os seguintes nomes

  • orderingValue(variável)
  • orderingItems(array de objetos)
  • fetchProductsByOrderingValue(método)
  • hasOrderingValue (método)
  • orderingValue (parâmetro de um método)

[Frontend] Adicionar funcionalidade de deletar produto por Id

O que deve acontecer ao deletar um produto:

Antes do produto ser, de fato, deletado deve ser exibido um modal de confirmação perguntando se o usuário deseja cancelar o produto. Nesse modal deve haver dois botões, um botão de cancelar e o outro de apagar.

Referência

Image

[Frontend] Criar autenticação

Requisitos

O usuário, após preencher o formulário de signin e ter suas credenciais válidas, deve ser capaz de acessar o sistema e ser redirecionado para a tela home.

O usuário, após preencher o formulário de signup e ter suas credenciais válidas, deve ser capaz de acessar o sistema e ser redirecionado para a tela de signin.

Definição do formulário de Signin

O formulário deve conter três campos:

  • campo de email
  • campo de senha
  • campo chamado Lembrar-me/Remember me (A finalidade deste campo é aumentar a duração do RefreshToken cuja responsabilidade é manter o usuário logado por mais tempo)

Validações de cada um dos campos:

  • campo de email

    • Obrigatório
    • Deve ter o formato de um email
  • campo de senha

    • Obrigatório
    • Deve ter pelo menos 1 caractere especial
    • Deve ter pelo menos 1 caractere minúsculo
    • Deve ter pelo menos 1 caractere maiúsculo
    • Deve ter pelo menos 1 caractere numérico
  • campo Remember-me

    • Não é obrigatório

Definição do formulário de Signup

O formulário deve conter cinco campos:

  • campo de email
  • campo de nome
  • campo de sobrenome
  • campo de senha
  • campo de confirmação de senha

Validações de cada um dos campos:

  • campo de email

    • Obrigatório
    • Deve ter o formato de um email
  • campo de nome

    • Obrigatório
    • Deve ter no mínimo 3 caracteres
    • Deve ter no máximo 3 caracteres
  • campo de sobrenome

    • Obrigatório
    • Deve ter no mínimo 3 caracteres
    • Deve ter no máximo 3 caracteres
  • campo de senha

    • Obrigatório
    • Deve ter pelo menos 1 caractere especial
    • Deve ter pelo menos 1 caractere minúsculo
    • Deve ter pelo menos 1 caractere maiúsculo
    • Deve ter pelo menos 1 caractere numérico
  • campo de confirmação de senha

    • Obrigatório

[Backend] Criar tabelas Comment, LineItem, Order, Product

Tabelas

  • Comment

    • Id
    • ProductId
    • Content
    • CreatedAt
    • UpdatedAt
    • UserId
  • LineItem

    • Id
    • OrderId
    • ProductId
    • Quantity
    • Price
    • Name
    • Description
    • Type
    • ImageRef
    • CreatedAt
    • UpdatedAt
  • Product

    • Id
    • Price
    • Name
    • Description
    • Type
    • ImageRef
    • QuantityInStock
    • CreatedAt
    • UpdatedAt
  • Order

    • Id
    • UserId
    • Status
    • CreateAt
    • UpdateAt
    • DeliveryFee
    • DeliveryDate
    • Total

Relacionamentos:

  • LineItem (1-N <> 1-1) Product
  • Product (1-1 <> N-1) Comment
  • LineItem (1-N <> 1-1) Order
  • User (1-N <> 1-1) Role
  • User (1-1 <> N-1) Order
  • User (1-1 <> N-1) Comment

[Frontend] Criar tela de Detalhes do Produto

Referência a ser utilizada para a criação da tela de Detalhes do Produto:

Observação: O que está riscado não deve ser implementado.

Image

Checklist:

  • O usuário deve ser capaz de adicionar ao carrinho, no mínimo, 1 produto e, no máximo, 20 produtos. Caso ele tente ultrapassar este intervalo, deve ser exibida uma mensagem informativa.

[Frontend] Adicionar dropdown de valor mínimo e máximo na tela de listagem de produtos

Requisitos

  • O dropdown deve ter duas opções de filtragem

    • Menor Valor;
    • Maior Valor;
  • Comportamento esperado

    • Quando alguma opção de filtro, do dropdown, for selecionada deve ser feito um request para trazer os produtos seja por Menor Valor ou Maior Valor;
  • O dropdown deve ser inserido abaixo do input de busca.

Image

Observação: A opção padrão do dropdown deve ser "Menor Valor", ou seja, a filtragem quando o componente for carregado é por Menor Valor.

[Frontend] Fix exibição da paginação

Requisitos

  • O estado atual:

Image

  • Deve ficar do jeito como está abaixo :

Image

Obs: Deve ser feita esta alteração pois como está atualmene dá para se subentender que é possível avançar para a última página ao clicar no 5.

[Frontend] Trocar arquivos .ts por .json

A razão da mudança do formato dos arquivos é porque são de conteúdo estático:

  • Os arquivos não tem o seu conteúdo alterado dinamicamente durante a execução da aplicação.

Os arquivos a serem alterados para o formato .json são filtering-items.ts e ordering-items.ts.

[Frontend] Adicionar Autorização

Devem existir usuários por nível de acesso:

  • Usuário Comum
  • Administrador

Exemplos:

Usuário Comum

  • Pode fechar pedidos;
  • Pode visualizar o próprio histórico de pedidos

Administrador

  • Pode visualizar relatórios
  • Pode visualizar os históricos de pedidos dos usuários
  • Pode listar todos os usuários cadastrados no sistema
  • Remover usuário do sistema

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.