Разработка библиотечного софта

И да-да, я знаю, что наверняка что-то похожее есть. Но мне хочется написать своё, которое будет работать так, как я хочу.

Что хочется

Программа, которая будет следить за папкой, в которой будут появляется мои книги, разбирать их, добавлять в базу данных, по которой потом можно будет найти любую книгу. Должна работать с:

  1. FB2
  2. EPUB
  3. PDF
  4. иметь возможность достаточно быстро расширяться под какой-то новый формат

Автоматически следить за новыми книгами в папке, разбирать их и добавлять в библиотеку.

Иметь web-интерфейс (ну кто сейчас пользуется толстыми клиентами, кроме 1С 😁).

По хорошему — иметь APIшку, вдруг стрельнёт и народ начнёт писать собственные клиенты для этого.

Что пока получается

Я накидал каркас приложения, с фоновым сервисом, который смотрит в указанную папку, берёт оттуда файлики и пытается их разобрать (но только тех форматов, что разрешено).

Пока делал понял, что FB2 в целом очень даже не плохой формат, потому что EPUB СЛИШКОМ гибок, но имеет больше возможностей.

Файлы разбираются и раскладываются по установленным местам. Не знаю зачем я сделал разные папки для хранения, но мне хочется иметь каталоги с книгами по типам файлов, а не одну большую помойку. Пусть будет три не очень больших.

Всё это складывается в базу данных, которая пока может хранить информацию о книге, авторе, жанре и серии книг.

Сверху прикручиваю простой web-интерфейс на JSP + PureCSS + Vanilla JS, который пока просто показывает меню и кнопку загрузки новой книги.

Разработка библиотечного приложения. Наброски Web UI

Да, давно я не верстал (очень давно). Да и PureCSS пока не очень знакомый для меня. Но ничего, справимся.

Из интересного:

  1. Узнал, что встроенный в Spring Boot Tomcat не умеет в компиляцию JSP, потому что подключает только:
    tomcat-embed-core
    tomcat-annotations-api
    tomcat-embed-el
    tomcat-embed-websocket
    tomcat-annotations-api
    И как видим, ничего про JSP/JSTL тут нет. Поэтому пришлось подключать tomcat-embed-jasper. Он уже умеет.
  2. Также узнал, что не всем нравятся BootstrapCSS, поэтому есть микро сборки, который поддерживают только сетку, например.
  3. Следующим открытием для меня стало то, что EPUB — это, под капотом, такой же HTML, как и FB2, но немножко более структурированный. Но всю мета-информацию не стандартизировали, а добавляют через Дублинское ядро, но при этом есть возможность каждому редактору напихать чего-то своего. В целом, я всегда читал только в формате FB2, поэтому с EPUB просто не сталкивался.
  4. В PDF можно добавить много полезной информации, но хранение — на усмотрение приложения, которое его редактировало, но есть пара общих полей.
  5. Человек, придумавший FB2 не умеет писать XSD.
  6. Вспомнил, какой классный JSP и как классно можно шаблонизировать через tags.

Вам может также понравиться...

комментария 2

  1. Si estas quieres encontrar donde alquilar motos acuaticas en la isla de Tenerife, hay varias opciones atractivas tanto en el sur de la isla como en otras zonas como el area de Costa Adeje y la Playa de las Americas. Es posible descubrir alquiler moto de agua Tenerife sur con valores accesibles y experiencias como jet bike safari o aqua safari que integran emocion y vistas espectaculares. Para propuestas mas detalladas, tambien existe la oportunidad de contratar motos de agua en Tenerife Los Gigantes o experimentar actividades acuaticas en esta zona. Para mas informacion sobre opciones disponibles y importes, te invito a visitar jet ski tenerife los gigantes .

    Del mismo modo, Tenerife ofrece posibilidades para todos los perfiles, desde los que comienzan hasta expertos, con operadores como Jet Hub Tenerife y Adrenalina Jet que organizan excursiones en motos marinas y jet ski safaris en zonas como Costa Adeje. Si necesitas una vivencia total y tranquila, ten en cuenta las excursiones motos de agua Tenerife sur o en otras areas, y no ignores que contratar con tiempo siempre facilita las cosas, sobre todo en temporada alta. Por si necesitas, el telefono +34 612 345 678 es adecuado para preguntas rapidas.

  1. 21 Ноя 2025

    […] 4 часа в пути. Все четыре часа я работал над своей библиотекой или читал документацию. Был запущен Wi-Fi. В систему […]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *