World Vibe Web
The distributed app store for vibe-coded projects. Browse, discover, and install open-source apps from across GitHub.
Compare preços, monte seu orçamento e organize o enxoval obrigatório do seu concurso militar. De aprovado, para aprovado.
Translation pending
CommerceHTML · PythonGitHub @matheuselrochaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Enxoval CFP CBMDF 2026 — web app App mobile-first de um arquivo só (enxoval-cfp-cbmdf-v2.html) que lê a planilha pública no Google Sheets e mostra os dados de um jeito usável no celular. Sem backend, sem chave de API, sem login. É só arrastar o .html para o Netlify Drop e pronto. As 4 telas (o que a planilha faz, agora como app)Read the full README ↗
App mobile-first de um arquivo só (enxoval-cfp-cbmdf-v2.html) que lê a planilha
pública no Google Sheets e mostra os dados de um jeito usável no celular. Sem backend,
sem chave de API, sem login. É só arrastar o .html para o Netlify Drop e pronto.
| Aba | O que é |
|---|---|
| Calculadora | A tela principal. Cada item tem quantidade (− / +) e loja escolhível; o preço unitário, o subtotal da linha, o subtotal do bloco e o total geral recalculam na hora. Marque "já comprei" e o valor sai do "ainda a comprar" sem sair do total. Filtro Todos / Masculino / Feminino. |
| Lojas | Contato das 9 lojas (WhatsApp + Instagram), tabela de parcelamento/desconto à vista e o cupom. |
| Online | Cards dos itens que valem comprar pela internet, cada um com um botão principal e as demais opções recolhidas. |
| Bizus | Materiais do CFP (ordem unida, hinos, nós, cuidado com os pés, manutenção do coturno, kit costura…). |
Enxoval Unificado pelo endpoint gviz (CSV público, sem credencial):
https://docs.google.com/spreadsheets/d/{ID}/gviz/tq?tqx=out:csv&sheet={Aba}visibilitychange).localStorage; botão "Zerar" no rodapé.No <script>, no objeto CFG (topo do código):
const CFG = {
planilhaId: "1QI-vGc--zXDDX3Tvq_F1i3bZGOFiY5o0C88MHbNrDGc", // <- troque aqui
aba: "Enxoval Unificado", // <- e o nome da aba
...
};
A leitura é dinâmica: os blocos são detectados pelos divisores da coluna A (COTURNOS,
EQUIPAMENTOS…) e os nomes das lojas vêm da aba Validação de dados. Então dá pra fazer
quase tudo só na planilha, sem tocar no HTML:
A ordem das lojas na aba Validação precisa bater com a ordem das colunas de preço na aba Enxoval Unificado — é assim que o app liga preço → loja.
O que não é lido ao vivo (só sai no código/snapshot): Contatos, Pagamento, Cupom, Compras
Online e Bizus. Para mudar esses, me avise (ou edite o SNAPSHOT no index.html).
Itens femininos (aparecem só no filtro Feminino/Todos): lista CFG.femininos
(Saia Passeio, Saia Túnica).
O snapshot é o objeto grande const SNAPSHOT = {…} no topo do <script>. Ele guarda preços,
links online, contatos, pagamento, cupom e bizus. Para atualizar:
https://docs.google.com/spreadsheets/d/{ID}/export?format=xlsx
(o .xlsx preserva os hyperlinks das abas Online, Contatos e Bizus, que o CSV perde).SNAPSHOT atual.SNAPSHOT no arquivo.Regra de sanidade: nenhum preço 0 deve entrar em comparação ou soma (0 = a loja não vende). Na primeira versão da planilha, o "melhor preço item a item" dos três blocos com as quantidades sugeridas dava R$ 6.806 — se você mudou preços/lojas depois, esse número naturalmente muda.