Projeto desenvolvido por mim como um desafio do programa Ignite (modulo 2) da Rocketseat. O design foi feito pela equipe da Rocket, precisei apenas codificar o design e desenvolver as funcionalidades.
Nesse desafio, foi criada uma aplicação para gerenciar um carrinho de compras de uma cafeteria fictícia.
- Listagem de produtos (cafés) disponíveis para compra
- Adicionar uma quantidade específicas de itens no carrinho
- Aumentar ou remover a quantidade de itens no carrinho
- Formulário para o usuário preencher o seu endereço
- Exibir o total de itens no carrinho no Header
- Exibir o valor total da soma de itens no carrinho multiplicados pelo valor
- Validação do formulário;
- Remoção de itens do carrinho;
- Mudança dinâmica do preço final;
- Envio do formulário validado;
- Informações sobre a entrega do pedido;
- Pedido concluído;
- Página de checkout sem itens no carrinho;
- Página de success sem pedido concluído;
Dentre os principais utilizados para construção do projeto temos:
- Styled Components
- React Hook Form
- Validação de formulário com zod
- React Router
- ContextAPI
- Estados
- Imutabilidade do estado
- Listas e chaves no ReactJS
- Propriedades
- Componentização