- A aplicação "Clients Manager" é uma aplicação fullstack que foi desenvolvida com o propósito de fornecer aos usuários a possibilidade de gerenciar seus clientes e contatos de forma eficaz e intuitiva.
- Node Js - Sqlite (Back-end)
- React (Front-end)
- Typescript
- "@emotion/react": cria componentes React com estilos em CSS.
- "@emotion/styled": estiliza componentes React com CSS-in-JS.
- "@hookform/resolvers": valida dados de formulários no React Hook Form.
- "@mui/icons-material": conjunto de ícones de Material Design para uso com o Material UI.
- "@mui/lab": conjunto de componentes experimentais para o Material UI.
- "@mui/material": componentes de interface do usuário (UI) React baseados no Material Design.
- "axios": faz requisições HTTP.
- "react": cria interfaces do usuário com React.
- "react-dom": interage com o DOM em aplicativos React.
- "react-hook-form": gerencia formulários e validação de entrada de dados no React.
- "react-imask": adiciona máscaras de entrada a campos de formulários React.
- "react-router-dom": adiciona navegação por rotas em aplicativos React.
- "react-toastify": exibe notificações de estilo de tostador no React.
- "styled-components": estiliza componentes com CSS-in-JS.
- "yup": valida esquemas para JavaScript.
- "@prisma/client": ORM para Node.js que oferece uma interface de banco de dados tipo SQL.
- "bcryptjs": biblioteca para criptografia de senhas em JavaScript.
- "cors": pacote para permitir solicitações de outros domínios no Node.js.
- "cross-env": define variáveis de ambiente de forma consistente em diferentes sistemas operacionais.
- "dotenv": carrega variáveis de ambiente de um arquivo ".env" no Node.js.
- "express": framework para aplicativos da web Node.js que fornece recursos para construir APIs e aplicativos da web.
- "jsonwebtoken": cria e verifica tokens de autenticação JWT.
- "pg": cliente de banco de dados PostgreSQL para Node.js.
- "reflect-metadata": biblioteca para refletir informações de metadados em tempo de execução do TypeScript.
- "ts-node": transpilador TypeScript para Node.js.
- "ts-node-dev": reinicia automaticamente o servidor Node.js ao detectar alterações em arquivos do tipo TypeScript.
- "yup": biblioteca de validação de esquema para JavaScript.
- Organizar Rotas da aplicação com react router dom.
- Criação de formulários com validação e efetivação em Api.
- Transições suaves e acessibilidade.
- Feedback pro usuário com toastify.
- Gerenciamento em CRUD.
Ao clonar o projeto, você terá duas pastas: server e outra client, siga os passos abaixo:
- Abra o terminal e navegue até a pasta do servidor ("server").
- Execute o comando "yarn install" para instalar as dependências do servidor.
- Após a instalação, execute o comando "yarn prismax dev" para executar as migrações do banco de dados (sqlite).
- Execute o comando "yarn dev" para iniciar o servidor. Certifique-se de que o servidor está rodando antes de continuar para o próximo passo. (Necessário deixar o terminal aberto rodando o servidor).
- Abra uma nova instância do terminal e navegue até a pasta do cliente ("client").
- Execute o comando "yarn install" para instalar as dependências do cliente.
- Após a instalação, execute o comando "yarn dev" para iniciar o cliente.
- Aguarde o carregamento da página. O projeto deve estar rodando corretamente agora.
OBS: Certifique-se de manter o servidor rodando em uma instância do terminal e o cliente rodando em outra. Para interromper a execução, pressione "CTRL+C" no terminal correspondente.