- A aplicação "ChatApp" é uma aplicação fullstack que foi desenvolvida com o propósito de fornecer aos usuários a possibilidade de interagir em um chat online com autenticação, prática e rapidez.
- NodeJS + Express + MongoDb + Typescript (BackEnd)
- React + Typescript (Front-end)
- "mui": Biblioteca de componentes / estilização.
- "axios": faz requisições HTTP.
- "react-hook-form": gerencia formulários e validação de entrada de dados no React.
- "react-router-dom": adiciona navegação por rotas em aplicativos React.
- "react-toastify": exibe notificações de estilo de tostador no React.
- "zod": valida esquemas para JavaScript.
- "socket.io-client": Web Sockets que permite interações em tempo real do lado cliente.
- "mongoose": ORM para Node.js que oferece uma interface ao banco mongoDB.
- "socket.io": Web Sockets que permite interações em tempo real.
- "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.
- "reflect-metadata": biblioteca para refletir informações de metadados em tempo de execução do TypeScript.
- "zod": biblioteca de validação de schema para JavaScript.
- Autenticação de Rota.
- Formulário com validação de campos.
- Transições suaves e acessibilidade.
- Feedback pro usuário com toastify.
Ao clonar o projeto, você terá duas pastas: server e outra client, siga os passos abaixo:
Obs: Para fins de testes o arquivo .env já foi enviado configurado no .zip, pule a etapa 3.
- Abra o terminal e navegue até a pasta do servidor ("server").
- Execute o comando "pnpm install ou npm install" para instalar as dependências do servidor.
- (.zip pule esse passo) Crie um arquivo .env na raiz do projeto e copie o que está no arquivo .env.example e preencha suas variáveis de ambiente.
- Execute o comando "pnpm run dev ou npm run 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 "pnpm install ou npm install" para instalar as dependências do cliente.
- Após a instalação, execute o comando "pnpm run dev ou npm run 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.