Skip to content

Portal Administrativo

Frontend PWA para administradores da plataforma.

Informações Gerais

ItemDetalhe
Versão2.0.0
RuntimeNode.js ≥ 18 (build) + Express (serve)
FrameworkQuasar Framework v2 / Vue.js 3
Build tool@quasar/app-webpack 3
EntregaProgressive Web App (PWA)
Porta6880

Arquitetura

quasar.config.js     # Configuração principal
src/
├── boot/            # Inicialização global (ordem de execução)
│   ├── axios.js         # Axios com interceptor JWT (axios ^1.x)
│   ├── featureFlags.js  # Carregamento das feature flags
│   └── google-maps.js   # Integração Google Maps (@fawmi/vue-google-maps)
├── components/      # Componentes reutilizáveis
│   ├── DrawGoogleMap.vue       # Mapa Google Maps interativo
│   ├── DrawGoogleMapSimple.vue # Mapa simplificado
│   ├── MapAddPoi.vue           # Adição de POIs no mapa
│   ├── MapPreview.vue          # Preview de rota no mapa
│   └── MapRoutes.vue           # Visualização de rotas
├── css/
│   ├── app.scss                # Estilos globais
│   └── quasar.variables.scss   # Variáveis de tema Quasar
├── layouts/         # Layout base da aplicação
├── pages/           # Módulos por domínio
│   ├── admin/           # Configurações administrativas
│   ├── cliente/         # Gestão de clientes
│   ├── colaborador/     # Gestão de colaboradores
│   ├── feature-flags/   # Controle de feature flags
│   ├── fretamento/      # Módulo de fretamentos
│   ├── integra-rfid/    # Integração RFID
│   ├── integracao/      # Monitoramento de integrações
│   ├── motorista/       # Gestão de motoristas
│   ├── permission/      # Controle de permissões
│   ├── poi/             # Pontos de interesse
│   ├── report/          # Relatórios
│   ├── rota/            # Gestão de rotas
│   ├── roteirizacao/    # Roteirização
│   ├── translado/       # Módulo de translados
│   ├── user/            # Perfil e usuários
│   └── veiculo/         # Gestão de veículos
├── router/          # Vue Router 4
└── store/           # Vuex 4 (auth, featureFlags)
src-pwa/             # Service Worker e configuração PWA
server.js            # Servidor Express para servir o build

Comunicação com o Backend

Todas as chamadas ao backend passam pelo módulo boot/axios.js, que injeta automaticamente o token JWT nas requisições (axios v1.x).

Google Maps

Integrado via @fawmi/vue-google-maps com suporte às bibliotecas:

  • places
  • geometry
  • drawing
  • directions

Setup

bash
cd utrbus

npm install --legacy-peer-deps

# Desenvolvimento (hot-reload)
npm run dev

# Build de produção (PWA)
npm run build

# Servir o build via Express
npm start

Variáveis de Ambiente

Configuradas em quasar.config.js:

  • Endpoints da API
  • Chave do Google Maps

Migração v1 → v2

AspectoAntes (v1.x)Agora (v2.0)
Quasarv1v2.17
Vue23.5
Vue Router3 (implícito)4.5 (explícito)
Vuex3 (implícito)4.1 (explícito)
Node.jsnão especificado≥ 18.x
Configquasar.conf.jsquasar.config.js
CSSStylus (.styl)SCSS (.scss)
axios0.27.x1.7.x
vue-auth2.x beta4.x
ESLint6.x8.x
Docker basenode:14-alpinenode:18-alpine (multi-stage)
Google Maps@fawmi/vue-google-maps

Proprietário — Ultra Tecnologias. Todos os direitos reservados.