tp-aeds-iii
Java CRUD Todo List using byte file storage and hash-based indexing for efficient task management.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (1.8%) to scientific vocabulary
Repository
Java CRUD Todo List using byte file storage and hash-based indexing for efficient task management.
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
- Releases: 0
Metadata Files
readme.md
Trabalho Prático AEDs 3 - Parte 3
Descrição
Este trabalho amplia o sistema CRUD desenvolvido nas etapas anteriores, integrando consultas otimizadas, índices inversos e outras melhorias avançadas de processamento de dados. Nesta fase, também aplicamos o relacionamento 1:N entre Tarefa e Categoria a cenários mais complexos, utilizando estruturas como Árvore B+, Lista Invertida e Tabela Hash Extensível para otimizar o acesso e a manipulação dos dados.
Estrutura do Projeto
Diretórios
controller:
Contém as classes responsáveis pela lógica de controle do sistema, implementando as operações CRUD e otimizando a interação com as estruturas de dados.- Classes principais:
ArquivoCategoria: Gerencia a persistência e manipulação de categorias.ArquivoTarefa: Gerencia a persistência e manipulação de tarefas.IndiceInvertido: Implementa um índice para buscas eficientes baseadas em termos.
- Classes principais:
model:
Contém as estruturas de dados utilizadas pelo sistema, como Árvores B+, Tabelas Hash e representações de entidades.- Classes principais:
CategoriaeTarefa: Representam as entidades do sistema.ArvoreBMais: Implementa a Árvore B+ usada no relacionamento 1:N e outras buscas.HashExtensivel: Gerencia índices indiretos por meio de uma tabela hash extensível.ListaInvertida: Implementa o índice invertido para busca textual.StopWords: Gerencia palavras irrelevantes para buscas textuais (com suporte a um arquivo externostopword.txt).
- Classes principais:
util:
Contém utilitários para entrada/saída e operações auxiliares.- Classes principais:
IO: Oferece métodos para leitura e escrita em arquivos e auxilia na manipulação de dados.
- Classes principais:
view:
Contém a interface de interação com o usuário, organizando menus e exibições de dados.- Classes principais:
CategoriasVieweTarefasView: Interfaces para interagir com os dados das entidades.PrincipalView: Classe principal que centraliza o fluxo de interação.
- Classes principais:
Estrutura de Dados
Árvore B+
- Relaciona categorias e tarefas, garantindo acesso eficiente e ordenado.
- Relaciona categorias e tarefas, garantindo acesso eficiente e ordenado.
Hash Extensível
- Gerencia índices indiretos para buscas rápidas por nome de categoria.
- Gerencia índices indiretos para buscas rápidas por nome de categoria.
Lista Invertida
- Facilita buscas por termos em descrições de tarefas, ignorando palavras irrelevantes (
stopword.txt).
- Facilita buscas por termos em descrições de tarefas, ignorando palavras irrelevantes (
Estrutura de Arquivos Externos
data: Diretório para armazenamento dos arquivos binários do sistema.stopword.txt: Arquivo com palavras irrelevantes usadas pelo índice invertido.
Desafios e Aprendizados
Os principais desafios desta parte envolveram a otimização do desempenho do sistema para consultas complexas e a
implementação de relatórios, que demandaram o processamento eficiente de grandes volumes de dados. A experiência
permitiu aprofundar conhecimentos em:
- Uso avançado de estruturas de dados como Árvores B+ e tabelas hash.
- Processamento de dados em massa com integridade e consistência.
- Planejamento de sistemas modulares, permitindo fácil expansão.
Checklist
O índice invertido com os termos das tarefas foi criado usando a classe ListaInvertida?
SIMO CRUD de rótulos foi implementado?
SIMNo arquivo de tarefas, os rótulos são incluídos, alterados e excluídos em uma árvore B+?
SIMÉ possível buscar tarefas por palavras usando o índice invertido?
SIMÉ possível buscar tarefas por rótulos usando uma árvore B+?
SIMO trabalho está completo?
SIMO trabalho é original e não a cópia de um trabalho de um colega?
SIM
Integrantes
Owner
- Name: giuseppe cordeiro
- Login: giusfds
- Kind: user
- Location: Brazil, MG
- Repositories: 1
- Profile: https://github.com/giusfds
a computer science student, improving on frontend HTML and CSS and backend C languages
Citation (CITATION.cff)
cff-version: 1.0.1
title: TP-AEDS-III
authors:
- family-names: Pires Santos
given-names: Breno
- family-names: Faria Diniz
given-names: Caio
- family-names: Sena Cordeiro
given-names: Giuseppe
- family-names: Miranda de Araújo
given-names: Vinícius
- name-suffix: Professor
affiliation: PUC Minas
family-names: Silveira Kutova
given-names: Marcos Andre
keywords:
- CRUD
- Tarefa
- Operações com Arquivo
- Tipos Genéricos
repository-code: https://github.com/giusfds/TP-AEDS-III
license: CC-BY-4.0
version: 1.0.0
date-released: 2024-08-26
GitHub Events
Total
- Delete event: 6
- Member event: 1
- Push event: 41
- Pull request event: 6
- Create event: 10
Last Year
- Delete event: 6
- Member event: 1
- Push event: 41
- Pull request event: 6
- Create event: 10