Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
eGoverna 시 행정 전 분야 기술
Tecnologia para todas as áreas da administração municipal. O eGoverna conecta tributos, finanças, RH, educação, saúde, dados e serviços ao cidadão em um único ecossistema integrado.
비즈니스TypeScript · CSSGitHub @Edusessim-crypto온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Site institucional da eGoverna — ecossistema inteligente para a gestão pública. Stack: Next.js 16 (App Router) · TypeScript · Tailwind CSS v4 · Lucide Copie .env.example para .env.local. Todas são opcionais — sem elas o site funciona normalmente e nenhum script de terceiros é carregado. O envio é processado por uma Server Action em app/actions/contact.ts, com validação no servidor, honeypot e verificação de tempo contra automação.README 전문 보기 ↗
Site institucional da eGoverna — ecossistema inteligente para a gestão pública.
Stack: Next.js 16 (App Router) · TypeScript · Tailwind CSS v4 · Lucide
npm install
npm run dev # http://localhost:3000
npm run build # build de produção
npm start # servir o build
npm run lint
Copie .env.example para .env.local. Todas são opcionais — sem elas o
site funciona normalmente e nenhum script de terceiros é carregado.
| Variável | Para que serve |
|---|---|
NEXT_PUBLIC_GTM_ID | Google Tag Manager |
NEXT_PUBLIC_GA4_ID | Google Analytics 4 |
NEXT_PUBLIC_META_PIXEL_ID | Meta Pixel |
NEXT_PUBLIC_LINKEDIN_PARTNER_ID | LinkedIn Insight Tag |
NEXT_PUBLIC_SITE_URL | URL pública (canonical, sitemap, Open Graph) |
CONTACT_WEBHOOK_URL | Destino do formulário (ver abaixo) |
O envio é processado por uma Server Action em
app/actions/contact.ts, com validação no servidor,
honeypot e verificação de tempo contra automação.
Sem CONTACT_WEBHOOK_URL, as solicitações são apenas registradas no log do
servidor — úteis para teste, mas não chegam a ninguém. Antes de ir ao ar,
defina a variável com um endpoint que receba o JSON:
{
"nome": "...", "email": "...", "telefone": "...",
"estado": "RS", "cidade": "...", "cargo": "...", "mensagem": "...",
"origem": "site-egoverna", "enviadoEm": "2026-09-15T12:00:00.000Z"
}
Serve qualquer destino que aceite POST: CRM, Zapier/Make, n8n, ou uma rota própria que dispare e-mail.
Textos, módulos, benefícios e valores ficam centralizados em
lib/site.ts. Para adicionar ou editar um módulo, basta alterar
o array modules — a sidebar, os chips do mobile e o painel de conteúdo são
renderizados a partir dele, sem tocar no JSX.
Todo o conteúdo vem do site oficial (egoverna.com.br) ou do briefing. Nenhuma métrica, cliente, certificação ou dado de contato foi inventado. O único contato publicado é o WhatsApp que já constava no site atual.
| Arquivo | Origem |
|---|---|
public/logos/egoverna-branco.png | pasta /Logos do projeto |
public/logos/egoverna-preto.png | pasta /Logos do projeto |
public/logos/egoverna-simbolo.png | símbolo oficial (site atual) |
public/video/hero-cidade.mp4 | vídeo original do hero do site atual |
public/video/hero-poster.jpg | frame extraído do próprio vídeo |
public/images/sistema-egoverna.webp | screenshot real do sistema |
public/images/equipe-egoverna.webp | imagem oficial de equipe |
A logo nunca é recriada em CSS ou texto: o componente
components/ui/Logo.tsx exibe sempre o arquivo
oficial, com proporção preservada. A troca branca ↔ preta no header é um
crossfade de opacidade entre os dois arquivos.
O MP4 tem 2,7 MB. Para servir também WebM (~30% menor), gere o arquivo e
adicione o <source> conforme o comentário em
components/HeroVideo.tsx:
ffmpeg -i public/video/hero-cidade.mp4 -c:v libvpx-vp9 -crf 34 -b:v 0 -an \
public/video/hero-cidade.webm
Os eventos estão prontos em lib/analytics.ts e são
disparados no dataLayer (e no gtag, quando houver GA4):
click_contact · click_demo · form_start · form_submit ·
module_view · whatsapp_click
phone_clickeemail_clickestão definidos no tipo, mas não são disparados: o site não publica telefone fixo nem e-mail, porque esses dados não constam nas fontes oficiais. Quando forem fornecidos, basta chamartrack()nos links.
Verificados no build de produção:
prefers-reduced-motion desativa o vídeo e as animações de entradaNotas de manutenção:
--color-ink-400 é o tom mais claro admitido em texto (4.96:1). Tons mais
claros (ink-300) servem só para bordas, ícones decorativos e placeholders./ — home/politica-de-privacidade — LGPD/termos-de-uso/sitemap.xml, /robots.txt — gerados dinamicamenteAs páginas legais trazem o texto padrão de LGPD e uso do site. Revise-as com o jurídico e complete os dados societários (razão social, CNPJ, endereço, e-mail do encarregado de dados) — deixados de fora por não constarem em nenhuma fonte oficial disponível.