Skip to content

dhomini-rabelo/chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat

🔗 Tópicos

📖 Sobre

Projeto de um chat em tempo real, com sistema de autenticação JWT, feito com Django no back-end e React no front-end.

🛠️ Principais ferramentas

Django

  • Fast
  • Django
  • Django Channels
  • Django Rest Framework
  • Simple JWT
  • Redis

React

  • Vite ts
  • Tailwind
  • Styled-components
  • Phosphor-react
  • date-fns
  • react-router-dom
  • react-hook-form
  • hookform/error-message
  • zod
  • date-fns
  • axios
  • headlessui
  • react-use-websocket

🏷️ Modelagem do banco de dados

User ( AbstractUser do Django )

  • Username
  • Senha

Chat

  • created_by FK(User)
  • code CHAR
  • image CHAR
  • messages JSON
  • users M2M
  • created_at

🎥 Projeto

  • Cadastro de usuários

    /api/create-user

    Formulário sendo validado por zod


    project-image
  • Login

    /api/get-token

    Autenticação usando simple-JWT e useContext


    project-image
  • Criando um chat

    /api/create-chat

    Criando um chat enviando apenas o base64 da imagem, o código do chat é gerado automaticamente no backend


    project-image
  • Listagem de chat

    /api/chats/{username}

    Listagem de todos os chats que o usuário participa


    project-image
  • Entrar em um chat

    /api/register-user-in-chat/{code}

    Usando outro usuário, é feito o registro do usuário logado que fez a requisição, apenas enviando o código do chat


    project-image
  • Chat em tempo real

    ws://localhost:8000/chats/{code}

    Para acessar a sala basta apenas enviar o token


    project-image
  • Autenticação

    Redirecionamento para tela de login ao tentar acessar url que requer autenticação


    project-image

About

Chat com Django Channels e React

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published