Skip to content

Pages Marketing SEO Friendly / Chat Realtime / Open API (SWAGGER)

Notifications You must be signed in to change notification settings

DiegoPorfirio01/chat

Repository files navigation

Lucy - Chat em Tempo Real

Lucy é um aplicativo de chat em tempo real desenvolvido inicialmente em um desafio intenso de 3 dias. Explore a complexidade e inovação desta aplicação, que combina uma série de tecnologias modernas para oferecer uma experiência de usuário envolvente e eficiente!

Documentação OPEN API (SWAGGER) https://chat-0kc1.onrender.com/docs

🚀 Tecnologias Utilizadas

Aqui estão as principais ferramentas e bibliotecas que fazem o Lucy funcionar:

🌟 Funcionalidades

  • Chat em Tempo Real: Comunicação instantânea entre usuários, proporcionada pelo Socket.IO.
  • Interface Moderna: Design clean com componentes da Radix UI e estilos responsivos do Tailwind CSS.
  • Formulários Eficientes: Gerenciados com React Hook Form e validados com Zod.
  • Temas e Internacionalização: Suporte a temas com Next Themes e tradução com Next Intl.
  • Cache e Performance: Uso de cache no frontend e Redis no backend para otimizar o desempenho.

💻 Como Rodar o Projeto

Para rodar o projeto localmente, siga estes passos:

  1. Instale as dependências:

    pnpm install
  2. DevOPS: rodar banco postgre e o redis:

    docker-compose up -d
  3. Configure as variáveis de ambiente:

    cp .env.example  .env  

    Validações estão implementadas para garantir que todas as variáveis estejam corretas.

    OBS: - As variaveis relacionadas oa kafka, sugiro que utilize esse serviço para rodar o kafka : https://upstash.com/docs/kafka/overall/getstarted

  4. Gerar schema Prisma:

    pnpm run db:schema
  5. Inicie o servidor de desenvolvimento: Na raiz do projeto, execute:

    pnpm run dev
  6. Visualize a documentação da API: Abra o navegador e acesse http://localhost:3333/docs para explorar a documentação interativa gerada pelo Swagger.

  7. Acesse o sistema: Abra o navegador e acesse http://localhost:3000 para usar a aplicação!

🛠️ Scripts

  • Desenvolvimento: pnpm run dev - Inicia o servidor de desenvolvimento.
  • Banco: pnpm run db:migrate - Cria schema e atualiza banco
  • Construir: pnpm run build - Gera a versão de produção.
  • Linter: pnpm run lint - Executa o linter para verificar o código.

Nota

Pode haveer erro no console em função do radix ainda não ter atualizado as referências dos componentes para o novo hook useRef

📝 Licença

Este projeto está licenciado sob a Licença MIT.

🚀 Desafio Aceito!

Desenvolvido em apenas 3 dias como um grande desafio, o Lucy é um testemunho de paixão por novas tecnologias e criação de aplicações robustas. Espero que você aproveite tanto quanto eu gostei de desenvolvê-la!

Lucy - Chat em Tempo Real

Desenvolvido com café ☕ por Diego Vianna Porfírio