index.mp4
Ao entrar no site, a pessoa seleciona seu nome (Não utilizamos um sistema de contas pois se tratava de um projeto mais simples).
Então, ao entrar no chat, uma função JS irá pegar os comentários do banco de dados com o arquivo ler.php e apresentar eles. O usuário então pode escrever seu comentário e o enviar, para o recebe.php que recebe os dados e os armazena no banco.
O que torna este sistema assíncrono é na realidade, bem simples. A função de apresentar todos os comentários é reativada a cada 1 segundo, através de JS, então os comentários recém adicionados já são apresentados para todo mundo.
chat.mp4
Essa cor seria então salva no banco de dados junto com o comentário, e colocada no seu style sempre que apresentado.
Um problema que tivemos inicialmente foi que, ao mandar a cor em hexadecial (Ex: #FF0000) a # muitas vezes se perdia, tornando necessário funções do PHP de decode e encode para ela.
Nossa segunda novidade foi, ao invés de ter somente um chat geral, termos chats separados por temas, como Programadores, Livros, etc...Para isso, a pessoa seleciona no começo do chat, junto com nome e cor, qual grupo ela deseja entrar, e então, o arquivo php irá apresentar somentes as mensagens daquele grupo.
Ao invés de criarmos uma nova tabela para cada grupo, na qual precisaria de um NxN, o que tornaria o código mais complexo, simplesmente adicionamos o atributo tema na tabela comentário, já que o projeto é simples.
Também adicionamos uma função que ao entrar na página, muda o fundo do chat para um correspondente ao tema.
Por fim, nossa última novidade foram avatares, fotos de personagens para nossos usuários, que podem ser selecionanos na tela inicial.Existem 6 opções de avatares, que acompanham o usuário no decorrer do site.
Estes são até salvos no banco de dados, junto com os comentários, sendo salvos como números de 1 a 6. As imagens, em si, já estão salvas em uma pasta no código.
No código, esse número é pego e colocado no nome da imagem, pois estas são nomeadas como avatar1, avatar2 na pasta, e assim por diante.