Skip to content

1manuelc/mensageria_sd

Repository files navigation

mensageria_sd

Este projeto objetiva implementar um chat simples com autenticação via Google com restrição à somente autorizar contas institucionais do IFCE, faz parte de um trabalho avaliativo da disciplina de Sistemas Distribuídos do curso de Ciência da Computação.

Deploy na Vercel

Funcionalidades básicas

  • Páginas com design minimalista, responsivo e navegação otimizada.
  • Autenticação via Google e restrição à somente autorizar contas institucionais do IFCE.
  • Chat em tempo real.
  • Armazenamento de mensagens e usuários no Firebase Firestore.

Tecnologias utilizadas

React TypeScript TailwindCSS Shadcn/ui
Firebase

Executando localmente

  1. Clone este repositório ou faça um fork: git clone https://github.com/1manuelc/mensageria_sd.git

  2. Instale as dependências necessárias com o gerenciador de pacotes de sua escolha (por exemplo, Yarn ou npm):

yarn install
# ou
npm install
  1. Configure o projeto Firebase com WebApp e autenticação via Google.

  2. Crie um banco de dados Firebase Firestore com as seguintes coleções e respectivos campos:

    users:
      uid: string
      name: string
      email: string
      lastSeen: timestamp
      registerDate: timestamp
    messages:
      content: string
      senderId: string
      senderName: string
      timestamp: timestamp
    
  3. Renomeie o arquivo .env.example para .env.local e atualize as variáveis do seu ambiente de acordo com as credenciais de seu WebApp Firebase.

    As credenciais podem ser encontradas no Firebase em Configurações do Projeto > Seus aplicativos > Configuração do SDK

     # Substitua as strings variáveis pelas propriedades do objeto firebaseConfig.
     VITE_APP_FIREBASE_API_KEY=""
     VITE_APP_FIREBASE_AUTH_DOMAIN=""
     VITE_APP_FIREBASE_DATABASE_URL=""
     VITE_APP_FIREBASE_PROJECT_ID=""
     VITE_APP_FIREBASE_STORAGE_BUCKET=""
     VITE_APP_FIREBASE_MESSAGING_SENDER_ID=""
     VITE_APP_FIREBASE_APP_ID=""
     VITE_APP_FIREBASE_MEASUREMENT_ID=""
  4. Execute

yarn dev
# ou
npm run dev