Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
증상 진단·초보자 정비 경로·정비 이력·OBD2·연료 비교 도구 제공, 안드로이드·아이폰·브라우저 무료
Diagnóstico por sintoma, trilhas de mecânica para leigos, histórico de manutenção e ferramentas como OBD2 e comparador de combustível. Grátis para usar, no Android, no iPhone e no navegador.
라이프스타일TypeScript · JavaScriptGitHub @rod455온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Landing page de pré-lançamento do Mentorque, o app de educação em mecânica automotiva (do básico ao avançado) com consultoria especializada. Captura de e-mails para a lista de espera, bilíngue (PT-BR / EN), pronta para deploy na Vercel. Stack: Next.js 14 (App Router) · TypeScript · Tailwind CSS · framer-motion · Supabase. Outros scripts: npm run build (build de produção), npm start (servir o build), npm run lint.README 전문 보기 ↗
Landing page de pré-lançamento do Mentorque, o app de educação em mecânica automotiva (do básico ao avançado) com consultoria especializada. Captura de e-mails para a lista de espera, bilíngue (PT-BR / EN), pronta para deploy na Vercel.
Stack: Next.js 14 (App Router) · TypeScript · Tailwind CSS · framer-motion · Supabase.
npm install
cp .env.example .env.local # preencha as variáveis (veja abaixo)
npm run dev # http://localhost:3000
Outros scripts: npm run build (build de produção), npm start (servir o
build), npm run lint.
.env.local)| Variável | Para quê |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | URL do projeto Supabase (captura da waitlist). |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Chave publishable/anon (segura para expor; o RLS controla o acesso). |
NEXT_PUBLIC_SITE_URL | URL canônica do site (usada nas imagens absolutas de Open Graph). |
Sem essas variáveis o site roda normalmente: o formulário aceita o e-mail e mostra o estado de sucesso, mas não persiste nada (e loga um aviso no servidor). É só plugar as chaves para começar a gravar.
Todo o conteúdo fica em arquivos de strings — nada de copy hardcoded nos componentes:
lib/i18n/strings.pt.ts — Português (idioma primário, fonte da verdade dos tipos).lib/i18n/strings.en.ts — Inglês (mesma estrutura).Para alterar um texto, edite o arquivo .pt (e o .en correspondente). O
seletor de idioma (header e footer) troca em tempo real e guarda a preferência
no localStorage; o idioma também é detectado pelo navegador na primeira visita
(PT-BR como padrão).
Para adicionar um novo idioma: crie strings.xx.ts no mesmo formato e registre
em lib/i18n/index.tsx (objeto DICTS e tipo Locale).
O fluxo: components/ui/WaitlistForm.tsx → POST /api/waitlist
(app/api/waitlist/route.ts) → Supabase (lib/supabase.ts).
Rode o SQL de supabase/migrations/0001_waitlist.sql no SQL editor do seu
projeto Supabase (ou via Supabase CLI). Ele cria a tabela waitlist com índice
único por e-mail e uma policy de RLS que permite apenas insert pela chave
anon — leitura só pelo dashboard / service role.
Preencha NEXT_PUBLIC_SUPABASE_URL e NEXT_PUBLIC_SUPABASE_ANON_KEY no
.env.local (e nas Environment Variables da Vercel).
Edite só app/api/waitlist/route.ts. Há um // TODO marcando onde plugar.
Exemplo com Formspree: troque o bloco do Supabase por um fetch para o endpoint
do form. O front-end não precisa mudar.
NEXT_PUBLIC_SUPABASE_URL,
NEXT_PUBLIC_SUPABASE_ANON_KEY e NEXT_PUBLIC_SITE_URL (a URL final do site).next build automaticamente.Dica: depois do primeiro deploy, atualize
NEXT_PUBLIC_SITE_URLpara o domínio de produção para que os cards de Open Graph apontem para a imagem correta.
app/
layout.tsx next/font (Space Grotesk + Inter), metadata SEO/OG, skip-link
page.tsx compõe as 11 seções (sanduíche escuro/claro)
globals.css Tailwind + base da marca
icon.svg favicon (sextavado sólido) — auto-injetado pelo Next
apple-icon.png apple touch icon
api/waitlist/route.ts handler POST (Supabase ou stub)
components/
Header.tsx
sections/ Hero, TrustBar, ProblemSolution, Features, HowItWorks,
Consulting, Plans, Benefits, FAQ, FinalCta, Footer
ui/ Button, Section, Reveal (motion), HexMotif (motivo),
PhoneMockup, StoreBadges, Logo, WaitlistForm, LangSwitcher
lib/
i18n/ strings.pt.ts · strings.en.ts · index.tsx (provider + useI18n)
icons.tsx conjunto de ícones próprios (line, 24px)
supabase.ts client Supabase (null-safe)
public/
logo/ lockups, marca e motivo do sextavado (SVG)
og-image.png imagem de compartilhamento
supabase/migrations/ 0001_waitlist.sql
tools/ pipeline de geração dos assets da marca (independente da LP)
tailwind.config.ts. Âmbar é
o acento — usado em CTAs e destaques.prefers-reduced-motion.alt em imagens, contraste forte,
skip-link e aria-* no carrossel do hero e no formulário.Os SVGs em public/logo/ são gerados pelo pipeline em tools/ (Node + resvg +
opentype). Para regenerar: cd tools && node build-web-assets.js.