Esse projeto é uma aplicação web voltada para a gestão de vendas, estoque e finanças de uma papelaria chamada "XICAS PAPER". A aplicação permite que os usuários realizem operações como cadastro de produtos, registro de vendas, controle de estoque e visualização de histórico de vendas. Além disso, a aplicação oferece funcionalidades como adição rápida de produtos, cálculo de descontos, e finalização de vendas com diferentes métodos de pagamento.
-
Gestão de Vendas:
- Registro de vendas com cálculo automático de totais e descontos.
- Finalização de vendas com opções de pagamento (ex: dinheiro).
- Histórico de vendas com filtros por dia, semana, mês e ano.
-
Gestão de Estoque:
- Cadastro de produtos com informações como nome, código de barras, quantidade, custo, preço de venda, descrição e tags.
- Edição e exclusão de produtos.
- Pesquisa de produtos por nome, código de barras ou ID.
- Controle de estoque baixo e produtos com cadastro pendente.
-
Interface de Usuário:
- Barra lateral com navegação entre diferentes módulos (vendas, estoque, finanças).
- Modais para adicionar/editar produtos e finalizar vendas.
- Tabelas interativas para visualização de dados.
-
Frontend:
- React: Biblioteca JavaScript para construção de interfaces de usuário.
- Next.js: Framework React para renderização do lado do servidor (SSR) e geração de sites estáticos.
- Tailwind CSS: Framework CSS utilitário para estilização rápida e responsiva.
- TypeScript: Superset de JavaScript que adiciona tipagem estática ao código.
- Fuse.js: Biblioteca para busca difusa (fuzzy search) em listas de produtos.
- React Icons: Biblioteca de ícones para React.
-
Backend:
- Node.js: Ambiente de execução JavaScript para o servidor.
- Express.js: Framework para construção de APIs RESTful.
- Fetch API: Para fazer requisições HTTP ao backend.
- Serviços de Produto: Funções para buscar, criar, atualizar e deletar produtos (ex: getAllProducts, createProduct, updateProductById, deleteProductById).
-
Outras Ferramentas:
- LocalStorage: Para armazenamento local de dados no navegador.
- FileReader API: Para leitura de arquivos de imagem e conversão para base64.
- React Modal: Para criação de modais interativos.
- Componentes Reutilizáveis: A aplicação é construída com base em componentes reutilizáveis como SideBar, ItemList, ItemProperties, SaleList, ModalItemScreen, entre outros.
- Roteamento: Utiliza o Next.js para roteamento entre diferentes páginas (ex: vendas, estoque, finanças).
- Estado Global: O estado da aplicação é gerenciado principalmente através de hooks do React como useState e useEffect.
-
Vendas:
- O usuário seleciona produtos, define quantidades e descontos, e finaliza a venda.
- A venda é registrada no histórico e o estoque é atualizado.
-
Estoque:
- O usuário pode adicionar novos produtos, editar informações existentes ou deletar produtos.
- A aplicação permite a busca rápida de produtos e a filtragem por diferentes categorias (ex: estoque baixo, cadastro pendente).
-
Finanças:
- A aplicação oferece uma visão geral das finanças, incluindo ganhos brutos, líquidos e gastos.
Este projeto é uma solução completa para a gestão de uma papelaria, integrando funcionalidades de vendas, estoque e finanças em uma única plataforma. A utilização de tecnologias modernas como React, Next.js e Tailwind CSS garante uma experiência de usuário fluida e responsiva, enquanto o uso de TypeScript e boas práticas de desenvolvimento assegura a manutenibilidade e escalabilidade do código.