Chat-Talk é uma aplicação de chat desenvolvida com as mais recentes tecnologias web, oferecendo uma experiência de mensagens em tempo real simulada. Este projeto foi criado com o objetivo de demonstrar a aplicação de conceitos modernos de desenvolvimento web e práticas de design de interface.
Tecnologias Utilizadas
React: Uma biblioteca JavaScript para criar interfaces de usuário.
TypeScript: Superset de JavaScript que adiciona tipagem estática.
Next.js: Framework React para produção que oferece diversas funcionalidades como SSR (Server Side Rendering) e SSG (Static Site Generation).
Chakra UI: Uma biblioteca de componentes simples, modular e acessível para React que facilita a construção de interfaces de usuário atraentes e responsivas.
Context API: Utilizada para gerenciar o estado global da aplicação.
React Hook Form: Biblioteca para gerenciar formulários em React com validação.
Zod: Biblioteca de validação de dados para TypeScript.
LocalStorage: Utilizado como "database" simulado para armazenar dados da aplicação.
Cookies: Utilizados para gerenciar sessões de usuário.
Funcionalidades
Tela de Login e Registro: Com validação de dados utilizando React Hook Form e Zod.
Tela de Bem-Vindo: Após o login, o usuário é direcionado para uma tela de boas-vindas com uma sidebar que permite visualizar as salas de chat disponíveis, criar novas salas, editar salas existentes e navegar entre as salas.
Gestão de Salas: Possibilidade de criar e editar as informações das salas de chat.
Chat em Tempo Real Simulado: Ao clicar em uma sala na sidebar, o usuário é redirecionado para a tela da sala onde pode participar de uma conversa simulada em tempo real.
Nota sobre LocalStorage
O LocalStorage é utilizado como um "database" simulado apenas para fins de demonstração. Isso significa que os dados armazenados são salvos no navegador do usuário e podem ser limpos ou perdidos sob certas condições.
Rodando o Projeto Localmente
Para rodar o projeto localmente, siga os passos abaixo: