Skip to content

🐋 Dashboard Melina - Sistema completo de gestão e análise para Maremar Turismo com integração Paytour, IA e múltiplos módulos

Notifications You must be signed in to change notification settings

fabiokafka/maremar-dashboard

Repository files navigation

🐋 Dashboard Melina - Maremar Turismo

Sistema completo de gestão e análise para a Maremar Turismo em Ilhabela/SP, com integração à API Paytour, inteligência artificial e múltiplos módulos de gestão.

Dashboard Melina

🚀 Funcionalidades

🔐 Autenticação

  • Login OAuth 2.0 com Google
  • Controle de acesso por email/domínio
  • Gerenciamento de permissões

📊 Módulos Principais

  1. Dashboard Principal

    • Visão geral de KPIs
    • Gráficos e métricas em tempo real
    • Resumo de vendas e disponibilidade
  2. Passeios

    • Listagem completa dos passeios da API Paytour
    • Disponibilidade em tempo real (dia/semana/mês)
    • Cálculo de vendas baseado em ocupação
    • Preços e detalhes completos
  3. CRM

    • Cadastro e gestão de clientes
    • Campanhas de email e WhatsApp com IA
    • Segmentação de clientes
    • Histórico de interações
  4. Financeiro

    • Análise de vendas por período
    • Relatórios com IA
    • Gráficos de performance
    • Projeções e metas
  5. Clima

    • Previsão do tempo em tempo real (OpenWeather API)
    • Análise de impacto nas vendas
    • Alertas meteorológicos
  6. Baleias

    • Informações sobre avistamentos
    • Pesquisa com IA
    • Dados históricos
  7. Marketing

    • Integração Google Ads e Meta Ads
    • Análise de campanhas com IA
    • Tendências de busca (Answer The Public)
    • Sugestões de otimização
  8. Configurações

    • Gerenciamento de credenciais API
    • Teste de conexões
    • Controle de acessos
    • Integrações externas

🛠️ Tecnologias

Backend

  • Python 3.8+
  • Flask - Framework web
  • Gunicorn - WSGI server
  • SQLite - Banco de dados (CRM)
  • Authlib - OAuth 2.0
  • Requests - HTTP client
  • OpenAI API - Inteligência artificial
  • Paytour API - Gestão de passeios

Frontend

  • React 18 - Framework UI
  • Vite - Build tool
  • Tailwind CSS - Estilização
  • Recharts - Gráficos
  • Lucide Icons - Ícones
  • Axios - HTTP client

Infraestrutura

  • Nginx - Proxy reverso
  • Systemd - Gerenciamento de serviço
  • SSL/HTTPS - Certificado Let's Encrypt
  • VPS Ubuntu - Servidor

📦 Estrutura do Projeto

maremar-dashboard/
├── backend/
│   ├── src/
│   │   ├── main.py              # Aplicação Flask principal
│   │   ├── routes/              # Rotas da API
│   │   │   ├── auth.py          # Autenticação OAuth
│   │   │   ├── passeios.py      # Gestão de passeios
│   │   │   ├── financeiro.py    # Análises financeiras
│   │   │   ├── crm.py           # CRM e campanhas
│   │   │   ├── outros.py        # Clima, baleias, marketing
│   │   │   └── config.py        # Configurações
│   │   ├── services/            # Serviços de integração
│   │   │   ├── paytour_service.py    # API Paytour
│   │   │   ├── ai_service.py         # OpenAI
│   │   │   └── weather_service.py    # OpenWeather
│   │   ├── models/              # Modelos de dados
│   │   │   └── user.py          # Modelo de usuário
│   │   ├── database/            # Banco de dados
│   │   │   └── crm.db           # SQLite CRM
│   │   └── static/              # Frontend build
│   ├── .env                     # Variáveis de ambiente
│   ├── requirements.txt         # Dependências Python
│   └── venv/                    # Ambiente virtual
├── frontend/
│   ├── src/
│   │   ├── App.jsx              # Componente principal
│   │   ├── components/          # Componentes reutilizáveis
│   │   │   ├── Login.jsx        # Tela de login
│   │   │   ├── Sidebar.jsx      # Menu lateral
│   │   │   ├── Header.jsx       # Cabeçalho
│   │   │   └── KPICard.jsx      # Card de métricas
│   │   ├── pages/               # Páginas do dashboard
│   │   │   ├── Dashboard.jsx    # Dashboard principal
│   │   │   ├── Passeios.jsx     # Gestão de passeios
│   │   │   ├── CRM.jsx          # CRM
│   │   │   ├── Financeiro.jsx   # Financeiro
│   │   │   ├── Clima.jsx        # Clima
│   │   │   ├── Baleias.jsx      # Baleias
│   │   │   ├── Marketing.jsx    # Marketing
│   │   │   └── Configuracoes.jsx # Configurações
│   │   └── services/
│   │       └── api.js           # Cliente API
│   ├── public/
│   │   └── melina.png           # Logo
│   ├── package.json             # Dependências Node
│   └── vite.config.js           # Configuração Vite
├── melina.png                   # Logo colorido
├── melina-white.png             # Logo branco
├── README.md                    # Este arquivo
├── DOCUMENTACAO_TECNICA.md      # Documentação técnica
└── CONTRIBUTING.md              # Guia de contribuição

🔧 Instalação e Configuração

Pré-requisitos

  • Python 3.8+
  • Node.js 18+
  • pnpm (ou npm)
  • Git

1. Clone o repositório

git clone https://github.com/fabiokafka/maremar-dashboard.git
cd maremar-dashboard

2. Configurar Backend

cd backend

# Criar ambiente virtual
python3 -m venv venv
source venv/bin/activate  # Linux/Mac
# ou
venv\Scripts\activate  # Windows

# Instalar dependências
pip install -r requirements.txt

# Configurar variáveis de ambiente
cp .env.example .env
# Editar .env com suas credenciais

3. Configurar Frontend

cd ../frontend

# Instalar dependências
pnpm install

# Configurar variáveis (opcional)
cp .env.example .env

4. Executar em Desenvolvimento

Backend:

cd backend
source venv/bin/activate
python src/main.py
# Servidor rodando em http://localhost:5000

Frontend:

cd frontend
pnpm dev
# Servidor rodando em http://localhost:5173

🌐 Deploy em Produção

Build do Frontend

cd frontend
pnpm run build
# Build gerado em dist/

Copiar para Backend

cp -r frontend/dist/* backend/src/static/

Executar com Gunicorn

cd backend
source venv/bin/activate
gunicorn -w 4 -b 0.0.0.0:5000 src.main:app

Configurar Nginx

server {
    listen 80;
    server_name melina.maremar.tur.br;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Configurar Systemd

[Unit]
Description=Melina Dashboard - Maremar Turismo
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/www/wwwroot/melina.maremar.tur.br
ExecStart=/www/wwwroot/melina.maremar.tur.br/venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 src.main:app
Restart=always

[Install]
WantedBy=multi-user.target

🔑 Variáveis de Ambiente

Crie um arquivo .env no diretório backend/ com:

# Paytour API
PAYTOUR_API_URL=https://api.paytour.com.br/v2
PAYTOUR_API_KEY=sua_api_key
PAYTOUR_API_SECRET=seu_api_secret

# Google OAuth
GOOGLE_CLIENT_ID=seu_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=seu_client_secret

# OpenAI
OPENAI_API_KEY=sk-...

# OpenWeather
OPENWEATHER_API_KEY=sua_api_key

# Flask
SECRET_KEY=sua_chave_secreta_aleatoria
FLASK_ENV=production

# Emails autorizados (separados por vírgula)
AUTHORIZED_EMAILS=email1@example.com,email2@example.com

# Domínios autorizados (separados por vírgula)
AUTHORIZED_DOMAINS=pixelz.com.br,maremar.tur.br

📚 Documentação da API

Autenticação

POST /api/auth/login

  • Inicia fluxo OAuth com Google

GET /api/auth/callback

  • Callback OAuth

GET /api/auth/user

  • Retorna usuário autenticado

POST /api/auth/logout

  • Faz logout

Passeios

GET /api/passeios/

  • Lista todos os passeios

GET /api/passeios/:id

  • Detalhes de um passeio

GET /api/passeios/resumo

  • Resumo com disponibilidade

GET /api/passeios/:id/disponibilidade

  • Disponibilidade (dia/semana/mês)

Financeiro

GET /api/financeiro/resumo

  • Resumo financeiro

POST /api/financeiro/analise-ia

  • Análise com IA

CRM

GET /api/crm/clientes

  • Lista clientes

POST /api/crm/clientes

  • Cadastra cliente

POST /api/crm/campanha/email

  • Gera campanha de email com IA

Configurações

GET /api/config/paytour/test

  • Testa conexão Paytour

GET /api/config/emails

  • Lista emails autorizados

POST /api/config/emails

  • Adiciona email autorizado

🤝 Contribuindo

Veja CONTRIBUTING.md para detalhes sobre como contribuir.

📄 Licença

Este projeto é proprietário da Maremar Turismo.

👥 Autores

🐛 Suporte

Para suporte, entre em contato:

🔗 Links Úteis


Dashboard Melina - Gestão Inteligente para Turismo 🐋

About

🐋 Dashboard Melina - Sistema completo de gestão e análise para Maremar Turismo com integração Paytour, IA e múltiplos módulos

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published