Найти в Дзене
3D и не только

PHP, PDF и Пицца: Как я склепал свою онлайн-библиотеку с нуля (и выжил)

Привет, книжные черви и просто любопытные! 👋 Многие из вас уже заглядывали в мой цифровой книжный шкаф благодаря видеообзору. Спасибо! А теперь давайте поговорим по душам: что меня, такого мирного разработчика, сподвигло на создание собственной онлайн-библиотеки и как я сражался с технологическими драконами. История с юмором и моралью! Проблема: Книжный Апокалипсис в Моей Голове (и на Жестком Диске) Представьте: я учусь. Много. Программирование, машинное обучение, веб, 3D... Книги в формате PDF плодятся как кролики! Сначала они мирно жили на моем компьютере. Потом я превратил старый ноутбук в домашний сервер (ура, технологиям!) и переселил библиотеку туда. Доступ из сети? Есть! Но... Книг стало слишком много. Я начал путаться: Моя скромная, но творческая голова (и обычное желание не усложнять себе жизнь) сказали: "Хватит это терпеть!". Пора создавать свой личный, удобный книжный рай. Идея: Веб-Интерфейс в Спальне (Ну, Почти) У меня уже был на примете проект онлайн-библиотеки с курсов

Привет, книжные черви и просто любопытные! 👋

Многие из вас уже заглядывали в мой цифровой книжный шкаф благодаря видеообзору. Спасибо! А теперь давайте поговорим по душам: что меня, такого мирного разработчика, сподвигло на создание собственной онлайн-библиотеки и как я сражался с технологическими драконами. История с юмором и моралью!

Проблема: Книжный Апокалипсис в Моей Голове (и на Жестком Диске)

Представьте: я учусь. Много. Программирование, машинное обучение, веб, 3D... Книги в формате PDF плодятся как кролики! Сначала они мирно жили на моем компьютере. Потом я превратил старый ноутбук в домашний сервер (ура, технологиям!) и переселил библиотеку туда. Доступ из сети? Есть! Но... Книг стало слишком много. Я начал путаться:

  • Что я уже проглотил от корки до корки?
  • Что пылится в очереди на прочтение?
  • И где, черт возьми, лежит та самая книга про нейронные сети?! 🤯

Моя скромная, но творческая голова (и обычное желание не усложнять себе жизнь) сказали: "Хватит это терпеть!". Пора создавать свой личный, удобный книжный рай.

Идея: Веб-Интерфейс в Спальне (Ну, Почти)

У меня уже был на примете проект онлайн-библиотеки с курсов. Не идеальный, но как отправная точка — сойдет! Он был шустрым (SPA), но без модных фреймворков вроде Vue или React. Ладно, фронтенд есть. Теперь очередь "мозга" — бэкенда.

Выбор пал на PHP — старый добрый друг. Вот как это должно было работать:

  1. Хранилище: Все PDF-ки живут в сетевой папке на моем Linux-сервере.
  2. Магия на Бэкенде:
    Специальные скрипты-трудяги общаются с базой данных (MySQL).
    Другие скрипты-волшебники вытаскивают обложку прямо из PDF (первая страница — вуаля, постер!).
    Название книги и "категория" (просто имя папки, где она лежит) тоже подтягиваются автоматически. Умно, правда?
  3. API "Ручки": Фронтенд стучится к этим специальным точкам (API endpoints или "ручкам"), чтобы получить данные о книгах. Как официант, который приносит меню.

Локально: Вау! Это Работает! (Но Хотелось Больше)

На моем компьютере с XAMPP все взлетело с первого (ну, почти) раза! Книжек для теста было немного, и жизнь казалась прекрасной. Но... функционал базового проекта меня не устраивал. Я же хочу не просто смотреть на книги, а управлять ими!

Мне нужно было:

  • Фильтровать книги по темам (категориям).
  • Сортировать как душе угодно.
  • Отмечать статус: "Еще не трогал", "Читаю прямо сейчас!", "Ура, осилил!".
  • Прятать прочитанное, чтобы не мозолило глаза.
  • И, конечно, "Избранное" — куда же без полочки для самых-самых?

Добавлял фичи скрипя зубами, но потом... ЗАРАБОТАЛО! Я сказал: "Вау, вот оно – мое сокровище!" (ехидная улыбка тут как тут 😏).

Дилемма: Поделиться Сокровищем? (Или Джек Воробей Уже в Двери?)

Эйфория прошла быстро. Как показать это друзьям-критикам (верным, но строгим)? А главное — как не пустить весь интернет? Книги-то у меня... эм... найдены в разных уголках сети. Если открыть доступ всем, то мой сервер быстро станет пристанищем Джека Воробья и его пиратской команды! ⚔️ Так дело не пойдет.

Решение родилось элегантное — Система Доступа с Тремя Лицами:

  1. 👑 Я – Верховный Админ: Вижу ВСЁ, управляю ВСЕМ. Король книжной горы!
  2. 👨‍👩‍👧‍👦 Друзья & Близкие (Пользователи): Могут зайти, почитать, добавить в "Избранное". Но статусы книг ("читаю"/"прочел") и сортировку по ним им не видать! Достаточно и избранного.
  3. 👋 Весь Остальной Мир (Гости): Добро пожаловать в демо-версию! Полистать, посмотреть, как все устроено, но не больше.

Переезд на Сервер: Веселуха Началась! (Форумы Дыбом, Нейросети в Шоке)

И вот настал час Х — переносить готовое чудо с уютного локального компьютера на настоящий сервер. Тут-то и началась настоящая "веселуха"! Казалось, все форумы встали дыбом, а нейросети ахнули от моих запросов. Но! Мы с командой (я и гугл) это преодолели. 💪

Итог: Моя Онлайн-Библиотека Жива!

Это был настоящий вызов: создать что-то идеально под себя, проверить свои силы. Результатом я доволен на все 100%! Что же умеет мое детище?

Волшебство на Бэкенде (PHP):

  • Авто-Обложки: Достает картинку прямо из PDF – красиво и удобно!
  • Надежный Вход: Пароли, токены – все серьезно.
  • Смена Пароля: Забыли? Не проблема!
  • Три Уровня Доступа: Гость (демо), Пользователь (читает + избранное), Админ (полная власть над книгами и статусами). Никакого беспорядка!

Фронтенд: Удобство и Красота:

  • Просмотр каталога: Все ваши книжные сокровища как на ладони.
  • Сканирование новых книг: Добавил файл в папку? Система его найдет и покажет!
  • "Избранное": Ваша личная полка для любимчиков.
  • Умные Фильтры: По категориям, статусу ("хочу прочитать", "читаю", "прочел"), названию, автору – ищите мгновенно!
  • Поиск: Нужна конкретная книга? Вбейте название – и вот она!

Хотите заглянуть? Добро пожаловать в Демо!

Покликать, посмотреть, как все устроено, можно прямо тут: https://mnogodeto4ka.ru/others/book/front/

Да, пара мелких жучков еще могут прятаться в углах (куда же без них!), но я уже вовсю пользуюсь своей библиотекой! Это удобно, это моё, и это работает.

Это был путь от книжного хаоса к цифровому порядку! Спасибо, что прочитали мою историю создания и~~борьбы~~ радости. Заходите в гости на мой основной сайт: www.mnogodeto4ka.ru — там тоже много интересного!