Add public/series.json containing detailed ESP32 family specifications

Add a new JSON file public/series.json that defines detailed metadata for multiple
ESP32 series variants. The file includes entries for: ESP32, ESP32-S2, ESP32-S3,
ESP32-C3, ESP32-C5, ESP32-C6, ESP32-P4 and ESP32-H2.

Each entry provides human-friendly and technical fields such as:
- nome_completo, icone, descricao
- arquitetura, nucleos, frequencia, coprocessador_ulp, aceleradores_ia (when applicable)
- wireless capabilities (Wi‑Fi, Bluetooth, Zigbee/Thread, Matter), USB, Ethernet
- memory details (SRAM, RTC SRAM, ROM, external flash/PSRAM)
- peripherals and I/O counts (GPIO, ADC, DAC, touch, UART, SPI, I2C, I2S, PWM, SDIO, etc.)
- sensor info, temperature ranges, datasheet links and UI color values

This file will be used to power device/series lists and UI displays with consistent,
localized technical descriptions and links to datasheets.
This commit is contained in:
Lucas Rayan committed 2025-10-22 00:04:06 -03:00
1 parent 3d06c74447
commit f49d9a8921
41 files changed
+14794 -132

No files matched your search

+150
View File
@@ -0,0 +1,150 @@
import Header from "@/components/Header";
import Footer from "@/components/Footer";
import Link from "next/link";
export default function Sobre() {
const features = [
{ icon: "📚", title: "Documentação Curada", desc: "Conteúdos organizados por níveis — do iniciante ao avançado." },
{ icon: "🔧", title: "Exemplos Práticos", desc: "Projetos e trechos de código para aprender fazendo." },
{ icon: "🌐", title: "Comunidade", desc: "Contribuições abertas e canal para dúvidas e trocas." },
{ icon: "♿", title: "Acessibilidade", desc: "Textos claros, contraste adequado e navegação por teclado." },
];
return (
<div className="bg-linear-to-br from-blue-50 via-white to-purple-50 min-h-screen text-gray-800">
<a href="#conteudo" className="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:bg-white focus:px-4 focus:py-2 focus:rounded-md focus:shadow focus:ring-2 focus:ring-purple-500">
Ir para o conteúdo
</a>
<Header />
<main id="conteudo" className="px-4 pt-16 pb-20 max-w-6xl mx-auto">
<header className="relative overflow-hidden rounded-2xl p-8 md:p-12 bg-linear-to-r from-blue-600 via-purple-600 to-pink-500 text-white shadow-lg">
<div className="absolute right-0 top-0 -mr-40 -mt-24 opacity-20 pointer-events-none">
<svg width="400" height="300" viewBox="0 0 600 400" fill="none" aria-hidden="true">
<path d="M0 200 C150 100 350 300 600 200 L600 400 L0 400 Z" fill="white" />
</svg>
</div>
<div className="relative z-10 max-w-4xl mx-auto">
<h1 className="text-4xl md:text-5xl font-extrabold leading-tight bg-clip-text text-transparent bg-linear-to-r from-white to-purple-100 mb-3">
Sobre o ESPDocs
</h1>
<p className="text-lg md:text-xl opacity-90 max-w-3xl mb-6">
Uma documentação não oficial, em português, feita por e para a comunidade — com foco em clareza, exemplos práticos e colaboração aberta.
</p>
<div className="flex flex-col sm:flex-row gap-3 sm:gap-4 items-start sm:items-center">
<Link href="/" className="inline-flex items-center justify-center bg-white text-blue-700 px-4 py-2 rounded-lg font-semibold shadow-sm hover:shadow-md transition focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-white" aria-label="Voltar para a página inicial">
← Voltar
</Link>
<a
href="https://github.com/lucasrguerra/ESPDocs"
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center justify-center bg-white/20 border border-white/30 text-white px-4 py-2 rounded-lg font-semibold hover:bg-white/30 transition focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-white"
aria-label="Abrir repositório do projeto no GitHub (abre em nova aba)"
>
Contribuir no GitHub
</a>
</div>
</div>
</header>
<div className="mt-8 grid grid-cols-1 md:grid-cols-3 gap-6">
<section className="md:col-span-2 space-y-6">
<article className="bg-white/70 backdrop-blur-sm rounded-2xl p-6 shadow-sm border border-gray-100">
<h2 className="text-2xl font-bold mb-2">Nossa missão</h2>
<p className="text-gray-700 leading-relaxed">
Facilitar o aprendizado e acelerar projetos com ESP32 por meio de documentação clara, exemplos testados e comparativos práticos.
Priorizamos traduções fiéis, explicações passo a passo e dicas baseadas em experiência real de desenvolvimento.
</p>
</article>
<article className="bg-white rounded-2xl p-6 shadow-sm border border-gray-100">
<h2 className="text-2xl font-bold mb-2">Por que o ESPDocs?</h2>
<p className="text-gray-700 leading-relaxed mb-4">
Informações técnicas frequentemente estão dispersas entre datasheets, fóruns e repositórios. O ESPDocs centraliza esse conteúdo em português, com foco em aplicabilidade.
</p>
<ul role="list" className="grid sm:grid-cols-2 gap-4">
{features.map((f) => (
<li key={f.title} className="flex gap-3 items-start bg-gray-50 p-4 rounded-lg border border-gray-100">
<div className="text-2xl" aria-hidden="true">{f.icon}</div>
<div>
<h3 className="font-semibold text-gray-800">{f.title}</h3>
<p className="text-sm text-gray-600">{f.desc}</p>
</div>
</li>
))}
</ul>
</article>
<article className="bg-white/70 backdrop-blur-sm rounded-2xl p-6 shadow-sm border border-gray-100">
<h2 className="text-2xl font-bold mb-2">Como contribuir</h2>
<p className="text-gray-700 leading-relaxed mb-3">
Correções, traduções e novos exemplos são bem-vindos. Abra uma issue ou um pull request no repositório. Buscamos clareza nas descrições e exemplos testáveis.
</p>
<ol className="list-decimal list-inside text-gray-700 space-y-1">
<li>Fork do repositório e crie uma branch clara.</li>
<li>Adicione exemplos ou corrija o conteúdo com referências quando possível.</li>
<li>Abra um PR e descreva o que foi alterado.</li>
</ol>
</article>
<article className="bg-white rounded-2xl p-6 shadow-sm border border-gray-100">
<h2 className="text-2xl font-bold mb-2">Acessibilidade</h2>
<p className="text-gray-700 leading-relaxed">
O site prioriza leitura, contraste legível e navegação por teclado. Se encontrar barreiras, por favor relate-nos para que possamos melhorar.
</p>
</article>
</section>
<aside className="space-y-4">
<div className="bg-white rounded-2xl p-6 shadow-md border border-gray-100">
<div className="flex items-center justify-between mb-3">
<h3 className="text-lg font-semibold">Contribua</h3>
<span className="text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full">Open Source</span>
</div>
<p className="text-gray-700 mb-4">Ajude a melhorar o ESPDocs com exemplos, correções e traduções.</p>
<div className="flex flex-col gap-3">
<a
href="https://github.com/lucasrguerra/ESPDocs"
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center justify-center px-4 py-2 rounded-lg bg-linear-to-r from-blue-600 to-purple-600 text-white font-semibold shadow-sm hover:shadow-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500"
aria-label="Abrir repositório no GitHub"
>
Ver repositório
</a>
<Link href="/contato" className="inline-flex items-center justify-center px-4 py-2 rounded-lg border border-gray-200 text-gray-700 hover:border-purple-400 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500" aria-label="Ir para a página de contato">
Entrar em contato
</Link>
</div>
<div className="mt-4 text-sm text-gray-500">
<strong>Nota:</strong> Conteúdo não oficial. Consulte sempre datasheets e documentos oficiais para decisões críticas.
</div>
</div>
<div className="bg-white/80 rounded-2xl p-4 shadow-sm border border-gray-100">
<h4 className="font-semibold mb-2">Resumo</h4>
<ul className="text-sm text-gray-700 space-y-2">
<li>🔎 Conteúdo técnico explicado.</li>
<li>🧪 Exemplos e projetos.</li>
<li>🤝 Comunidade e contribuições.</li>
</ul>
</div>
</aside>
</div>
</main>
<Footer />
</div>
);
}