O atraso não está registado em parte alguma
A maioria das pequenas bibliotecas regista os empréstimos num caderno ou numa pasta: uma linha por empréstimo, com uma data e um nome. É perfeitamente fiel no momento em que é anotado. O problema surge depois: um empréstimo não é um dado estático, mas um estado que muda sozinho. Ninguém volta à linha no dia em que a devolução estava prevista, o atraso existe, mas não está registado em parte alguma.
Consequência prática: a lista de livros em atraso só existe se alguém a reconstruir manualmente, relendo semanas de registos linha a linha, com um calendário ao lado. Trata-se de um trabalho para o qual ninguém tem tempo, pelo que é feito apenas uma ou duas vezes por ano, quando um título desaparece do catálogo.
Uma aplicação não relê nada: compara simplesmente a data prevista de devolução com a data atual, e o ecrã de devoluções em atraso preenche-se automaticamente. Não é uma funcionalidade espetacular, é apenas o cálculo que o caderno não consegue fazer.
Obra e exemplar não são a mesma coisa
Esta distinção define a estrutura da aplicação, e é precisamente aquela que as folhas de cálculo usadas nas bibliotecas quase sempre ignoram: uma obra é uma referência, título, autor, ISBN, categoria, enquanto um exemplar é um objeto físico, com a sua cota, o seu estado e o seu histórico próprio. Uma biblioteca pode possuir, por exemplo, três exemplares do mesmo romance; dois estão emprestados e um está na prateleira.
Enquanto os dois forem confundidos numa única linha, não será possível emprestar simultaneamente dois exemplares, indicar qual deles está danificado nem saber se a obra está realmente disponível. Ao separá-los, cada questão torna-se novamente simples: o empréstimo refere-se a um exemplar, a reserva refere-se à obra e a disponibilidade deduz-se dos dois.
Descreva esta organização com as suas próprias palavras, e o plano apresentado antes da construção mostra-lhe exatamente como foi interpretada. Se houver confusão entre obra e exemplar, corrija-o nesse momento, não mais tarde.
- Obras: título, autor, ISBN, categoria, ano
- Exemplares: cota, estado, data de entrada, obra associada
- Empréstimos: exemplar, associado, data de saída, devolução prevista, devolução efetiva
- Associados: contactos, data de adesão, quota
- Permanências: horários, voluntários presentes
Como é produzida a aplicação
Escreva, em francês e com as suas próprias palavras, o que a sua biblioteca faz, «cota», «associado», «permanência», «desbaste». Antes de qualquer construção, é-lhe apresentado um plano com as entidades identificadas, os respetivos campos, os ecrãs e os indicadores. Corrija-o até corresponder exatamente à sua organização; nada é construído sem a sua validação prévia.
A aplicação resultante é um projeto padrão Next.js e Prisma. Pode descarregá-la como arquivo ZIP ou publicá-la no GitHub: o código é seu e qualquer programador sabe trabalhar com ele. Existem três níveis de geração (Sketch, Craft, Masterpiece), conforme pretenda testar uma ideia ou obter uma aplicação finalizada.
O que a aplicação NÃO é
Esta página descreve uma ferramenta de acompanhamento interno. Várias expectativas legítimas de uma biblioteca caem fora do âmbito desta solução, é melhor saber disso desde o início do que mais tarde:
Nenhuma destas limitações é definitiva do ponto de vista técnico, o projeto é exportável e pode ser estendido por um programador, mas nenhuma delas é fornecida de forma nativa.
- O catálogo não é preenchido automaticamente a partir de um ISBN: nenhuma base bibliográfica externa é consultada; o título e o autor são inseridos manualmente. O campo ISBN serve como identificador e critério de pesquisa, não como chave de importação.
- Não há leitura de códigos de barras nem de etiquetas RFID: a saída e a devolução são registadas diretamente no ecrã.
- Não há avisos automáticos por e-mail ou SMS: as devoluções em atraso aparecem apenas na aplicação; alertar o associado continua a ser uma ação humana.
- Não existe portal público nem conta de leitor: um associado com acesso apenas de leitura vê toda a aplicação, não apenas os seus próprios empréstimos.
- Não há modo offline: uma permanência sem ligação à internet não permite a introdução direta de dados.
- As permissões são globais (administrador, utilizador, apenas leitura), não há controlo de acesso por secção nem por delegação.
O que recupera, e quando quiser
Os dados que introduz continuam a ser seus e podem ser exportados a partir do ecrã Definições, em formato JSON ou CSV, conjunto de dados de cada vez. Um catálogo exportado em CSV abre-se numa folha de cálculo, pode ser ordenado, impresso para um inventário e anexado a um relatório anual ou a um processo de candidatura a subsídios.
As listas permitem filtragem e ordenação, e uma lixeira permite restaurar uma linha eliminada por engano, útil quando a introdução de dados é partilhada entre vários voluntários que só fazem uma permanência por mês.
Entidades
- Obras
- Exemplares
- Associados
- Empréstimos
- Reservas
- Permanências
Vistas
- Painel de controlo
- Catálogo
- Empréstimos em curso
- Devoluções em atraso
- Associados
- Permanências
Indicadores
- Empréstimos em curso
- Empréstimos cuja data de devolução já passou
- Empréstimos registados no período
- Associados com quota em dia
Perguntas frequentes
O catálogo preenche-se automaticamente a partir do ISBN?
Não. Nenhuma base bibliográfica externa é consultada: o título, o autor e a categoria são inseridos manualmente. O campo ISBN existe e funciona como identificador e critério de pesquisa, mas não aciona qualquer importação. O código é exportável e padrão, pelo que um programador pode integrar uma base bibliográfica externa; essa funcionalidade não é fornecida.
É possível digitalizar os livros à saída e à devolução?
Não, nenhuma leitora de códigos de barras nem etiqueta RFID está ligada à aplicação: um empréstimo é registado no ecrã, selecionando o exemplar e o associado.
Os associados com empréstimos em atraso recebem avisos automáticos?
Não, a aplicação não envia e-mails nem mensagens SMS. Mostra apenas a lista de empréstimos cuja data de devolução já passou, com o associado e o exemplar em causa; o aviso propriamente dito continua a ser da sua responsabilidade.
Um associado pode consultar os seus próprios empréstimos?
Não, num espaço reservado exclusivamente para si. A aplicação é multiutilizador, com três papéis globais, administrador, utilizador e apenas leitura, e uma conta com acesso apenas de leitura vê toda a aplicação, não apenas os seus empréstimos. Não existe um portal público separado.
O que acontece se quisermos mudar para outra ferramenta mais tarde?
O projeto é um padrão Next.js e Prisma, exportável como ZIP ou publicável no GitHub, e os seus dados podem ser exportados em JSON e CSV. Não há formatos proprietários nem dialectos que só o fornecedor consiga interpretar: sair não requer autorização de ninguém.
