O Inventory é um projeto de ERP online com foco na qualidade de estoque e facilidade de implementação, diferenciando-se de outros sistemas tradicionais do mercado. Como desenvolvedor com experiência na área, estou empenhado em utilizar todo meu conhecimento para construir um produto de excelência.
Este projeto tem como objetivo fornecer uma solução completa para os vendedores gerenciarem suas operações de vendas.
Veja abaixo as tecnologias aplicadas e um pouco processo de desenvolvimento.
Next.js é uma estrutura de desenvolvimento web para construir aplicativos React de servidor e cliente, que combina o React com a funcionalidade de renderização do lado do servidor, roteamento avançado, suporte a API externa e outras ferramentas úteis.
Sass (Syntactically Awesome Style Sheets) é uma linguagem de folhas de estilo CSS pré-processada que permite escrever estilos de forma mais eficiente e organizada, além de fornecer recursos adicionais que não estão disponíveis no CSS tradicional.
TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft que é uma extensão da linguagem JavaScript. Ela adiciona recursos como tipagem estática, classes, interfaces, herança, módulos e outros recursos orientados a objetos que não estão presentes no JavaScript padrão.
Node.js é uma plataforma de desenvolvimento de software de código aberto baseada no motor JavaScript V8 do Google Chrome. Ela permite a construção de aplicativos de rede escaláveis e de alta performance, usando JavaScript tanto no lado do servidor quanto no cliente.
Express é um framework de desenvolvimento web para Node.js que simplifica a criação de aplicativos web e APIs RESTful. Ele é minimalista e oferece uma ampla variedade de recursos que ajudam a criar aplicativos de forma rápida e eficiente.
Next.js é uma estrutura de desenvolvimento web para construir aplicativos React de servidor e cliente, que combina o React com a funcionalidade de renderização do lado do servidor, roteamento avançado, suporte a API externa e outras ferramentas úteis.
O Frontend foi construído usando a tecnologia NextJS, que é uma biblioteca baseada em React para desenvolvimento de aplicações web. O uso do NextJS permite a construção de aplicações de página única (SPA) e servidor-side rendering (SSR) de forma fácil e eficiente.
O gerenciamento de estados no frontend foi feito com o Redux, que é uma biblioteca para gerenciamento de estados global na aplicação. Isso permite que os dados da aplicação possam ser compartilhados entre componentes de forma eficiente e organizada.
Para a criação e validação de formulários, foram utilizadas as bibliotecas Formik e Yup. O Formik é uma biblioteca que ajuda a gerenciar o estado do formulário e simplifica o processo de manipulação dos dados de entrada. O Yup é uma biblioteca de validação de schema que permite definir as regras de validação de formulário de forma simples e clara.
Para a comunicação com a API, foi utilizado o Fetch, que é uma API nativa do JavaScript para fazer requisições HTTP. O Fetch permite enviar e receber dados de forma assíncrona e é compatível com a maioria dos navegadores modernos.
A estilização do aplicativo foi feita usando o SASS, que é uma extensão do CSS que permite escrever código mais organizado e eficiente. O SASS é compatível com o CSS e permite a criação de estilos reutilizáveis e modulares.
O código do frontend foi escrito em TypeScript, que é um superset do JavaScript que adiciona recursos como tipagem estática, interfaces e outros recursos avançados de programação orientada a objetos. O TypeScript ajuda a garantir a integridade do código, evita erros de digitação e melhora a manutenibilidade e escalabilidade do projeto.
O backend do Inventory foi construído utilizando o Node.js, que é uma plataforma de desenvolvimento de aplicações web baseada em JavaScript. Para a criação das rotas e middleware da aplicação, foi utilizado o framework Express, que é uma das escolhas mais populares para a construção de aplicações web em Node.js.
Para garantir a qualidade e segurança da aplicação, o código do backend foi escrito em TypeScript. O TypeScript é uma linguagem que adiciona recursos como tipagem estática e interfaces ao JavaScript, ajudando a prevenir erros comuns de digitação e a aumentar a escalabilidade do projeto.
A validação de formulário no backend foi realizada utilizando o express-validator, que é uma biblioteca de validação para o Express. Com ela, é possível definir regras de validação para os campos do formulário e garantir que as requisições recebidas pelo servidor estejam dentro dos padrões esperados. Isso adiciona uma camada extra de segurança para a aplicação, ajudando a prevenir ataques de injeção de SQL, por exemplo.
O banco de dados escolhido para a aplicação foi o MongoDB, que é um banco de dados NoSQL orientado a documentos. O MongoDB é uma escolha popular para aplicações web, pois é fácil de usar, escalável e oferece grande flexibilidade no armazenamento e recuperação de dados.
Em resumo, o backend do Inventory foi construído com uma abordagem moderna e segura, utilizando as tecnologias Node.js, Express, TypeScript, express-validator e MongoDB. Essas tecnologias ajudaram a garantir a qualidade e escalabilidade da aplicação, além de oferecerem uma experiência de desenvolvimento mais produtiva e agradável.