Skip to content

Commit 3982b64

Browse files
feat: launch offline UMB tracking MVP
0 parents  commit 3982b64

41 files changed

Lines changed: 7037 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: pages
16+
cancel-in-progress: true
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Node
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: 20
29+
cache: npm
30+
31+
- name: Install dependencies
32+
run: npm ci
33+
34+
- name: Build
35+
run: npm run build
36+
37+
- name: Upload artifact
38+
uses: actions/upload-pages-artifact@v3
39+
with:
40+
path: dist
41+
42+
deploy:
43+
environment:
44+
name: github-pages
45+
url: ${{ steps.deployment.outputs.page_url }}
46+
runs-on: ubuntu-latest
47+
needs: build
48+
steps:
49+
- name: Deploy
50+
id: deployment
51+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules/
2+
dist/
3+
.vite/
4+
.DS_Store
5+
npm-debug.log*
6+
yarn-debug.log*
7+
yarn-error.log*
8+
pnpm-debug.log*
9+
VISUAL/

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Sistema de Tempos e Movimentos - UMB / Caminhões
2+
3+
Aplicação web 100% front-end para tablets, com foco em apontamento operacional offline, exportação local e preparo para integração online futura.
4+
5+
## Fase 1 - MVP Offline
6+
7+
- Login local do operador.
8+
- Apontamento de atividades/paradas.
9+
- Controle de atividade aberta.
10+
- Dashboard local.
11+
- Exportação CSV.
12+
- Backup e restore JSON.
13+
- PWA instalável.
14+
- Cache básico para uso offline.
15+
16+
## Fase 2 - Modo Online
17+
18+
A arquitetura já separa a camada de persistência em `storageService.js`. No futuro, basta trocar o motor local por Firebase Firestore ou Supabase sem reescrever a interface.
19+
20+
Possíveis integrações:
21+
22+
- Firebase Firestore
23+
- Supabase
24+
- API própria
25+
- Power BI
26+
- Google Sheets
27+
- Banco SQL
28+
29+
## Estrutura
30+
31+
- `src/pages` - telas do sistema.
32+
- `src/components` - blocos reutilizáveis.
33+
- `src/services` - storage, exportação e cálculos.
34+
- `src/data` - cadastros iniciais.
35+
- `src/utils` - datas, validações e IDs.
36+
37+
## Execução local
38+
39+
1. Instale dependências: `npm install`
40+
2. Rode em desenvolvimento: `npm run dev`
41+
3. Gere build: `npm run build`
42+
4. Teste build local: `npm run preview`
43+
44+
## GitHub Pages
45+
46+
O projeto já vem com:
47+
48+
- `vite.config.js` com base relativa.
49+
- `public/404.html` para suportar rotas do app.
50+
- `public/sw.js` para funcionamento offline.
51+
- Workflow em `.github/workflows/deploy.yml`.
52+
53+
### Publicação
54+
55+
1. Faça push para `main`.
56+
2. No repositório, ative GitHub Pages com origem em **GitHub Actions**.
57+
3. O workflow faz build e publica automaticamente.
58+
59+
## Observação importante
60+
61+
Os dados ficam no navegador do tablet. Para supervisão em tempo real em outra tela, será necessário migrar para Firebase, Supabase ou outra base centralizada.
62+
63+
## Rotas
64+
65+
O app usa navegação por hash para simplificar o deploy no GitHub Pages.
66+
67+
- `#/login`
68+
- `#/operador`
69+
- `#/dashboard`
70+
- `#/cadastros`
71+
- `#/dados`
72+
- `#/configuracoes`

index.html

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!doctype html>
2+
<html lang="pt-BR">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<meta name="theme-color" content="#0f172a" />
7+
<meta
8+
name="description"
9+
content="Sistema de Tempos e Movimentos - UMB / Caminhões para operação offline em tablets."
10+
/>
11+
<link rel="manifest" href="./manifest.webmanifest" />
12+
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
13+
<link rel="apple-touch-icon" href="./icon.svg" />
14+
<title>Sistema de Tempos e Movimentos</title>
15+
</head>
16+
<body>
17+
<div id="root"></div>
18+
<script type="module" src="/src/main.jsx"></script>
19+
</body>
20+
</html>

0 commit comments

Comments
 (0)