millelibri/README.md

86 lines
3.0 KiB
Markdown

# 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)
```
{/* <SimpleGrid columns={{ sm: 2, md: 3, lg: 4, xl: 5 }} spacing={{ base: 2, md: 4 }}>
{ipfsGateways.map((gateway) => (
<Button
as={ExternalLink}
href={downloadLinkFromIPFS(gateway, row.original)}
key={gateway}
variant="outline"
>
{gateway}
</Button>
))}
</SimpleGrid> */}
```
## 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.