Skip to content

Releases

v0.4.0

Choose a tag to compare

@Joao-Pedro-Monteiro Joao-Pedro-Monteiro released this 03 Mar 21:09

Release Note - v0.4.0

Data de Lançamento: 03 de Março de 2025
Ambiente: Node.js
Desenvolvido por: João Pedro de Brito Monteiro
Dependências: fs (nativo do Node.js), arquivo library.json

Descrição

Nesta versão foi implementada a busca por relevância, tornando a procura no acervo mais dinâmica e abrangente e melhorando a usabilidade.

Nesta atualização, foi adicionado:

  • Busca parcial: Encontrar livros mesmo que o usuário não digite o título, autor ou gênero completo.
  • Relevância: Ordenar os resultados por quão "relevante" o input está do valor real.
  • Flexibilidade: Permitir que o usuário encontre algo mesmo com erros de digitação ou palavras-chave.

Correções Extras:

  • Padronizado cookie.visitedMenu em SearchRequest.
  • Correção de "Oque" para "O que" no firstMenu.
  • Adicionado return no default do main.

v0.3.0

Choose a tag to compare

@Joao-Pedro-Monteiro Joao-Pedro-Monteiro released this 02 Mar 20:37

Release Note - v0.3.0

Data de Lançamento: 02 de Março de 2025
Ambiente: Node.js
Desenvolvido por: João Pedro de Brito Monteiro
Dependências: fs (nativo do Node.js), arquivo library.json

Descrição

Esta é uma correção dos bugs presentes na versão anterior (v0.2.0), sendo estes:

  • Erro na variável visitedMenu corrigido
  • Erro na sintaxe em SearchByGenre corrigido
  • Retorno bruto das buscas corrigido

v0.2.0

Choose a tag to compare

@Joao-Pedro-Monteiro Joao-Pedro-Monteiro released this 02 Mar 19:13

Release Note - v0.2.0

Data de Lançamento: 02 de Março de 2025
Ambiente: Node.js
Desenvolvido por: João Pedro de Brito Monteiro
Dependências: fs (nativo do Node.js), arquivo library.json

Descrição

Este módulo implementa uma Biblioteca Virtual Interativa em Node.js, permitindo aos usuários navegar por uma coleção de livros carregada de um arquivo JSON (library.json). Ele oferece uma interface baseada em texto com menus e opções de busca, utilizando um sistema de "cookies" para rastrear o estado da interação.

Funcionalidades

  1. Menu Inicial (firstMenu):

    • Exibe uma saudação e um menu com 5 opções:
      1. Ver a lista de livros.
      2. Buscar por título.
      3. Buscar por autor.
      4. Buscar por gênero.
      5. Sair.
    • Define o estado inicial no cookie (visitedMenu = 'firstMenu').
  2. Exibição da Lista de Livros (showList):

    • Lista todos os livros do arquivo JSON com numeração, título e autor.
  3. Buscas Personalizadas:

    • SearchByTitle: Busca livros por título (case-insensitive).
    • SearchByAuthor: Busca livros por autor (case-insensitive).
    • SearchByGenre: Busca livros por gênero (case-insensitive, com erro a corrigir).
  4. Gerenciamento de Estado:

    • Usa um objeto cookie para rastrear o menu visitado (visitedMenu) e o livro selecionado (selectedBook).
  5. Formatação de Menus:

    • Função formatMenu para exibir opções de forma estruturada.
  6. Reinício:

    • resetAll: Limpa o estado do cookie ao sair.

Como Usar

  1. Pré-requisitos:

    • Node.js instalado.
    • Arquivo library.json no mesmo diretório, com a estrutura esperada (chave "biblioteca" contendo um array de livros).
  2. Instalação:

    • Salve o código em um arquivo (ex.: book.js).
    • Crie um arquivo de teste (ex.: index.js):
      const Book = require('./book');
      console.log(Book.main()); // Inicia o menu
      console.log(Book.main('2', { visitedMenu: 'firstMenu' })); // Exemplo: busca por título
      console.log(Book.main('O Hobbit', { visitedMenu: 'SearchByTitle' })); // Busca "O Hobbit"
  3. Execução

  • Rode node index.js no terminal.

Correções Necessárias

  • Erro de variável visitedMenu

  • Erro de Sintaxe em SearchByGenre

  • Retorno Bruto das Buscas