Um gerador de documentos institucionais para o Centro Acadêmico de Ciência de Dados e Inteligência Artificial (CACDIA) da UFPB.
- Geração de documentos oficiais com layout consistente
- Múltiplos tipos de documentos suportados
- Componentes reutilizáveis para construção de documentos
- Temas personalizáveis
- Exportação para PDF (via impressão do navegador)
- Ofício
- Memorando
- Ata
- Declaração
- Edital
- Certificado
- Projeto
- Requerimento (NOVO)
- Convocação (NOVO)
| Componente | Descrição |
|---|---|
DocumentHeader |
Cabeçalho do documento |
DocumentFooter |
Rodapé do documento |
DocumentLetterhead |
Papel timbrado para documentos |
DocumentMetadata |
Metadados como número e data |
DocumentRecipient |
Informações do destinatário |
DocumentSubject |
Assunto do documento |
DocumentDetails |
Lista de detalhes em pares chave-valor |
DocumentStamp |
Selo ou carimbo para documentos |
DocumentTable |
Tabela simples para documentos |
DocumentWatermark |
Marca d'água para documentos |
| Componente | Descrição |
|---|---|
DocumentCard |
Cartão informativo com cabeçalho e conteúdo |
DocumentTimeline |
Linha do tempo para cronogramas e processos |
DocumentSignature |
Assinatura com variantes digital e imagem |
DocumentForm |
Formulário interativo com diversos tipos de campos |
DocumentHighlight |
Texto de destaque em diferentes estilos |
DocumentDynamicTable |
Tabela avançada com ordenação e personalização |
| Tema | Descrição | Melhor para |
|---|---|---|
default |
Estilo padrão com fonte Times New Roman | Uso geral |
modern |
Design moderno com fonte Georgia | Apresentações e relatórios |
classic |
Visual clássico com fonte Palatino | Correspondências formais |
minimal |
Minimalista com fonte Arial | Documentos técnicos |
elegant |
(NOVO) Design refinado com fonte Baskerville | Certificados e convites |
academic |
(NOVO) Estilo acadêmico com fonte Cambria | Atas e documentos institucionais |
corporate |
(NOVO) Visual corporativo com fonte Calibri | Memorandos e editais |
Para aplicar um tema a um documento, basta passar o parâmetro theme ao utilizar o template do documento:
<MemorandoTemplate
// outros parâmetros...
theme="corporate"
>
<!-- conteúdo do documento -->
</MemorandoTemplate><DocumentCard
title="Mentoria Especializada"
content="Durante todo o evento, os participantes terão acesso a mentores especialistas em ciência de dados e inteligência artificial."
icon="👩🏫"
borderColor="#4a148c"
bgColor="#f3e5f5"
/><DocumentTimeline
title="Cronograma de Execução"
items={[
{
date: "10/06/2025",
title: "Início do Projeto",
description: "Reunião de kickoff e definição dos objetivos"
},
{
date: "25/07/2025",
title: "Fase de Implementação",
description: "Desenvolvimento dos componentes principais"
}
]}
/><DocumentHighlight
text="Este documento requer assinatura digital dos participantes."
type="warning"
/><DocumentDynamicTable
columns={[
{ key: "curso", header: "Curso", width: "40%" },
{ key: "vagas", header: "Vagas", width: "20%", align: "center" },
{ key: "turno", header: "Turno", width: "20%" },
{ key: "campus", header: "Campus", width: "20%" }
]}
data={[
{ curso: "Ciência de Dados e IA", vagas: "40", turno: "Integral", campus: "Campus I" },
{ curso: "Ciência da Computação", vagas: "60", turno: "Diurno", campus: "Campus I" }
]}
caption="Oferta de Vagas 2025.2"
/>Base.astro- Layout base HTML com estilos globaisDocumentTemplate.astro- Template genérico para documentosOficioTemplate.astro- Template específico para ofíciosMemorandoTemplate.astro- Template específico para memorandosDeclaracaoTemplate.astro- Template específico para declarações
index.astro- Página inicial com links para os diferentes tipos de documentosoficio.astro- Exemplo de ofíciomemorando.astro- Exemplo de memorandodeclaracao.astro- Exemplo de declaração
- Crie um novo arquivo de template em
src/layouts/(ex:CertificadoTemplate.astro) - Estenda o
DocumentTemplate.astrocom propriedades específicas para seu tipo de documento - Crie uma página de exemplo em
src/pages/(ex:certificado.astro) - Adicione um link para o novo documento na página inicial (
index.astro)
# Instalar dependências
npm install
# Iniciar servidor de desenvolvimento
npm run dev
# Construir para produção
npm run buildInside of your Astro project, you'll see the following folders and files:
/
├── public/
├── src/
│ └── pages/
│ └── index.astro
└── package.json
Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/ directory.
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
Feel free to check our documentation or jump into our Discord server.