Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CACDIA Document Generator

Um gerador de documentos institucionais para o Centro Acadêmico de Ciência de Dados e Inteligência Artificial (CACDIA) da UFPB.

Funcionalidades

  • 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)

Tipos de Documentos

  • Ofício
  • Memorando
  • Ata
  • Declaração
  • Edital
  • Certificado
  • Projeto
  • Requerimento (NOVO)
  • Convocação (NOVO)

Componentes Disponíveis

Componentes Básicos

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

Novos Componentes

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

Temas Disponíveis

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

Como Usar os Temas

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>

Exemplos de Uso dos Novos Componentes

DocumentCard

<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

<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

<DocumentHighlight
  text="Este documento requer assinatura digital dos participantes."
  type="warning"
/>

DocumentDynamicTable

<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"
/>

Layouts

  • Base.astro - Layout base HTML com estilos globais
  • DocumentTemplate.astro - Template genérico para documentos
  • OficioTemplate.astro - Template específico para ofícios
  • MemorandoTemplate.astro - Template específico para memorandos
  • DeclaracaoTemplate.astro - Template específico para declarações

Páginas

  • index.astro - Página inicial com links para os diferentes tipos de documentos
  • oficio.astro - Exemplo de ofício
  • memorando.astro - Exemplo de memorando
  • declaracao.astro - Exemplo de declaração

Como adicionar um novo tipo de documento

  1. Crie um novo arquivo de template em src/layouts/ (ex: CertificadoTemplate.astro)
  2. Estenda o DocumentTemplate.astro com propriedades específicas para seu tipo de documento
  3. Crie uma página de exemplo em src/pages/ (ex: certificado.astro)
  4. Adicione um link para o novo documento na página inicial (index.astro)

Como Executar

# Instalar dependências
npm install

# Iniciar servidor de desenvolvimento
npm run dev

# Construir para produção
npm run build

🚀 Project Structure

Inside 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.

🧞 Commands

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

👀 Want to learn more?

Feel free to check our documentation or jump into our Discord server.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages