Repository navigation
Releases
v0.4.0
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
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
visitedMenucorrigido - Erro na sintaxe em
SearchByGenrecorrigido - Retorno bruto das buscas corrigido
v0.2.0
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
-
Menu Inicial (
firstMenu):- Exibe uma saudação e um menu com 5 opções:
- Ver a lista de livros.
- Buscar por título.
- Buscar por autor.
- Buscar por gênero.
- Sair.
- Define o estado inicial no cookie (
visitedMenu = 'firstMenu').
- Exibe uma saudação e um menu com 5 opções:
-
Exibição da Lista de Livros (
showList):- Lista todos os livros do arquivo JSON com numeração, título e autor.
-
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).
-
Gerenciamento de Estado:
- Usa um objeto
cookiepara rastrear o menu visitado (visitedMenu) e o livro selecionado (selectedBook).
- Usa um objeto
-
Formatação de Menus:
- Função
formatMenupara exibir opções de forma estruturada.
- Função
-
Reinício:
resetAll: Limpa o estado do cookie ao sair.
Como Usar
-
Pré-requisitos:
- Node.js instalado.
- Arquivo
library.jsonno mesmo diretório, com a estrutura esperada (chave"biblioteca"contendo um array de livros).
-
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"
- Salve o código em um arquivo (ex.:
-
Execução
- Rode
node index.jsno terminal.
Correções Necessárias
-
Erro de variável
visitedMenu -
Erro de Sintaxe em
SearchByGenre -
Retorno Bruto das Buscas