# Millelibri ![Logo Millelibri](frontend/src/assets/logo/logo_256px.png?raw=true) Un motore di ricerca libri basato su protocollo IPFS. Una versione funzionante si trova [qui](https://millelibri.lamacchinadesiderante.org). Il progetto è partito come un fork di [Book Searcher](https://github.com/book-searcher-org/book-searcher). L'obiettivo è trasformarlo in una piattaforma partecipativa: gli utenti avranno la possibilità di richiedere l'aggiunta di libri, oltre a fare ricerche. ## Copyright e pirateria Nessun materiale protetto da copyright è ospitato su questo repo. Nessun link a materiale protetto da copyright è ospitato su questo repo. Il motore fa ricerche su degli indici, e fornisce dei risultati. Non abbiamo nulla contro la pirateria, ma vogliamo evitare di trovarci in situazioni spiacevoli. Non riusciamo a capire in quali occasioni la condivisione di link esterni a materiale protetto da copyright sia reato e in quali no. Quindi, per tutelarci, abbiamo disabilitato la generazione automatica di link IPFS alle risorse. Tuttavia è possibile riabilitarla modificando il codice sorgente (spiegato sotto). Viene fornita solo un'informazione parziale. Sta all'utente mettere insieme i pezzi. ## Installazione rapida E' possibile buildare il progetto via Docker. Occorre avere prima installato e configurato sia Docker che il tool `docker-compose`. Occorre clonare il repo e il file contenente gli indici dei libri: ``` git clone https://git.lamacchinadesiderante.org/lamacchinadesiderante/millelibri && cd millelibri wget https://github.com/zlib-searcher/index/releases/download/0.8.0/index_0.8.0.zip && unzip index_0.8.0.zip docker-compose up -d ``` Il progetto sarà attivo all'indirizzo `localhost:7070`. ## Sviluppo frontend Per modificare la parte frontend (React) del progetto, posizionarsi nella cartella `frontend` e lanciare i comandi: ``` npm install npm run build npm run dev ``` ## Riabilitare la generazione dei link IPFS Per riabilitare i bottoni/link ai Gateway IPFS, aprire il file `frontend/src/components/BooksDetailsCard.tsx` e de-commentare le seguenti linee di codice: (da riga 22) ``` // const downloadLinkFromIPFS = (gateway: string, book: Book) => { // return ( // `https://${gateway}/ipfs/${book.ipfs_cid}?filename=` + // encodeURIComponent(`${book.title}_${book.author}.${book.extension}`) // ); // } ``` (da riga 91) ``` {/* {ipfsGateways.map((gateway) => ( ))} */} ``` ## Licenza Book Searcher è rilasciato sotto licenza [BSD-3-Clause](https://github.com/book-searcher-org/book-searcher/blob/master/LICENSE). Millelibri eredita la licenza da Book Searcher.