zlimteck/ebookrequest

By zlimteck

Updated 8 days ago

Web application for managing e-book requests

Image
Integration & delivery
0

10K+

zlimteck/ebookrequest repository overview

EbookRequest

EbookRequest Logo

Docker Hub License: MIT

Application web de gestion de demandes de livres numériques. Les utilisateurs soumettent des demandes, suivent leur statut et téléchargent leurs livres. Les administrateurs gèrent les demandes, les utilisateurs et les notifications.

🇫🇷 Projet développé par et pour la communauté francophone.

Stack

  • Frontend — React, React Router, Chart.js, Axios
  • Backend — Node.js, Express, MongoDB (Mongoose), JWT
  • Notifications — Email (SMTP), Push (VAPID), Apprise
  • IA — OpenAI / Ollama / Claude (recommandations, descriptions)
  • Connecteurs — Valentine, Anna's Archive, Calibre-Web (envoi + sync étagère Kobo)
  • Visionneuse — PDF, EPUB (epub.js), CBZ/CBR
  • Conversion — Calibre intégré — EPUB ↔ MOBI, AZW3, FB2 ; CBZ → PDF
  • Déploiement — Docker, GitHub Actions, Docker Hub

Fonctionnalités

Demandes

  • Soumission et suivi de demandes de livres
  • Recherche via Google Books API (titre, ISBN, auteur, scan code-barres)
  • Téléchargement automatique via Valentine + fallback Anna's Archive
  • Quota de demandes configurable par utilisateur

Bibliothèque & lecture

  • Bibliothèque personnelle avec statut de lecture, notation par étoiles et notes
  • Visionneuse in-browser : PDF, EPUB (mode nuit, progression, swipe mobile), CBZ/CBR
  • Conversion de format au téléchargement (EPUB → MOBI/AZW3/FB2, CBZ → PDF)
  • Envoi automatique vers Calibre-Web + sync étagère Kobo

Utilisateurs & accès

  • Inscription par invitation email ou code d'invitation
  • Authentification deux facteurs (2FA — TOTP)
  • Réinitialisation de mot de passe par email
  • Catalogue OPDS pour liseuses (Calibre, KOReader…)

Notifications

  • Email, push (VAPID) et Apprise (Pushover, Discord, Telegram, Slack…)
  • Notifications admin configurables par événement (nouvelle demande, complétion, commentaire, signalement, nouvel utilisateur)

Administration

  • Panel admin avec statistiques, logs système en temps réel
  • Diffusion admin (email HTML + push vers tous les utilisateurs)
  • Gestion des utilisateurs (rôles, quotas, activation/désactivation)

Déploiement Docker

services:
  ebookrequest:
    image: zlimteck/ebookrequest:latest
    container_name: ebookrequest
    restart: always
    ports:
      - "${PORT:-5001}:5001"
    volumes:
      - ${UPLOADS_PATH}:/app/uploads
    environment:
      - NODE_ENV=production
      - MONGODB_URI=${MONGODB_URI}
      - JWT_SECRET=${JWT_SECRET}
      - FRONTEND_URL=${FRONTEND_URL}
docker-compose up -d

L'application est accessible sur le port défini dans PORT (défaut : 5001).

Variables d'environnement principales

VariableDescription
MONGODB_URIURI de connexion MongoDB (Atlas ou local)
JWT_SECRETClé secrète pour les tokens JWT
FRONTEND_URLURL publique de l'application
UPLOADS_PATHChemin local pour les fichiers uploadés
SMTP_*Configuration serveur email
VAPID_PUBLIC_KEY / VAPID_PRIVATE_KEYClés push notifications
GOOGLE_BOOKS_API_KEYClé API Google Books
APPRISE_URLURL du service Apprise

Voir le dépôt GitHub pour la liste complète et le docker-compose.yml.

Premiers pas

Au premier lancement, rendez-vous sur /setup pour créer le compte administrateur.

Accès OPDS

http(s)://ton-domaine/opds

👉 Documentation complète : github.com/zlimteck/ebookrequest_app

Tag summary

Content type

Image

Digest

sha256:95b302442

Size

449 MB

Last updated

8 days ago

docker pull zlimteck/ebookrequest