Skip to content

aericki/chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

ChatBot da Barbearia / Barbearia ChatBot

Um aplicativo de chatbot em tempo real para agendamento de serviços de barbearia. Este projeto utiliza Socket.io para comunicação bidirecional em tempo real, Express para o backend, Prisma para persistência de dados (SQLite por padrão) e React para o frontend.

A aplicação diferencia usuários novos e usuários de retorno. Usuários registrados (cujo cadastro foi salvo localmente) iniciam diretamente o fluxo de agendamento, enquanto novos usuários passam pelo fluxo de cadastro.

📌 Índice


🚀 Recursos

  • Agendamento de Serviços: Permite agendar serviços (ex.: Corte, Barba, Corte e Barba, Coloração) especificando dia e horário.
  • Fluxo Personalizado: Fluxo de conversa diferente para novos usuários e usuários de retorno.
  • Comunicação em Tempo Real: Implementada com Socket.io para uma experiência de chat interativo.
  • Persistência de Dados: Agenda armazenada no banco de dados via Prisma (SQLite).
  • Interface Moderna: Frontend em React com layout responsivo e estilizado (ex.: Tailwind CSS).

🛠 Tecnologias Utilizadas

  • Backend: Node.js, Express, Socket.io, Prisma, SQLite, TypeScript
  • Frontend: React, Socket.io-client, TypeScript, Tailwind CSS (ou seu framework CSS preferido)

⚙️ Instalação

🔹 Pré-requisitos

🔹 Configuração do Backend

  1. Clone o repositório e navegue até o diretório do backend:

    git clone https://github.com/seu-usuario/chatbot.git
    cd chatbot/backend
  2. Instale as dependências:

    npm install
  3. Configure o Prisma:

    Crie um arquivo .env na raiz do backend e defina a variável DATABASE_URL:

    DATABASE_URL="file:./dev.db"
  4. Execute a migração inicial e gere o Prisma Client:

    npx prisma migrate dev --name init
    npx prisma generate
  5. Inicie o servidor:

    npm run dev

    O servidor rodará na porta 3000 (ou conforme configurado).

🔹 Configuração do Frontend

  1. Navegue até o diretório do frontend:

    cd ../frontend
  2. Instale as dependências:

    npm install
  3. Inicie o aplicativo React:

    npm start

    O aplicativo será iniciado, geralmente em http://localhost:5173 ou em outra porta definida pelo Vite/CRA.


💬 Uso

Fluxo do Chat

  • Usuário Novo:

    • O chatbot solicita as informações: primeiro nome, sobrenome e telefone.
    • Em seguida, pergunta qual serviço deseja agendar, o dia e o horário.
    • Após o agendamento ser confirmado, ele é salvo no banco de dados.
    • O usuário pode, então, optar por realizar um novo agendamento clicando no botão "Novo Agendamento".
  • Usuário de Retorno:

    • Se os dados do usuário já estiverem salvos (via localStorage), o frontend os envia automaticamente na conexão.
    • O chatbot inicia o fluxo diretamente no agendamento, solicitando somente o serviço, o dia e o horário.

📂 Estrutura do Projeto

chatbot/
├── backend/
│   ├── src/
│   │   ├── server.ts         # Lógica do backend com Express, Socket.io e Prisma
│   │   └── utils/
│   │       └── prisma.ts     # Configuração do Prisma Client
│   ├── .env                  # Variáveis de ambiente (DATABASE_URL)
│   ├── package.json
│   └── tsconfig.json
└── frontend/
    ├── src/
    │   ├── ChatBot.tsx       # Componente principal do chat
    │   └── index.tsx
    ├── package.json
    └── tsconfig.json

🤝 Contribuição

Contribuições são bem-vindas! Para contribuir:

  1. Faça um fork do projeto.

  2. Crie uma branch com a sua feature:

    git checkout -b minha-feature
  3. Realize as alterações e faça commit:

    git commit -m 'Minha nova feature'
  4. Envie sua branch:

    git push origin minha-feature
  5. Abra um Pull Request explicando suas alterações.


📜 Licença

Este projeto está licenciado sob a MIT License.


📩 Contato

Para dúvidas ou sugestões, entre em contato via aerickidev@gmail.com.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published