millelibri/README.md

86 lines
3.0 KiB
Markdown
Raw Normal View History

2023-01-08 16:29:07 +00:00
# Millelibri
2023-01-07 20:40:21 +00:00
2023-01-08 16:37:22 +00:00
![Logo Millelibri](frontend/src/assets/logo/logo_256px.png?raw=true)
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Un motore di ricerca libri basato su protocollo IPFS.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Una versione funzionante si trova [qui](https://millelibri.lamacchinadesiderante.org).
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Il progetto è partito come un fork di [Book Searcher](https://github.com/book-searcher-org/book-searcher).
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
L'obiettivo è trasformarlo in una piattaforma partecipativa: gli utenti avranno la possibilità di richiedere l'aggiunta di libri, oltre a fare ricerche.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
## Copyright e pirateria
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Nessun materiale protetto da copyright è ospitato su questo repo.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Nessun link a materiale protetto da copyright è ospitato su questo repo.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Il motore fa ricerche su degli indici, e fornisce dei risultati.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Non abbiamo nulla contro la pirateria, ma vogliamo evitare di trovarci in situazioni spiacevoli.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
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).
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Viene fornita solo un'informazione parziale. Sta all'utente mettere insieme i pezzi.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
## Installazione rapida
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
E' possibile buildare il progetto via Docker. Occorre avere prima installato e configurato sia Docker che il tool `docker-compose`.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Occorre clonare il repo e il file contenente gli indici dei libri:
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
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
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
Il progetto sarà attivo all'indirizzo `localhost:7070`.
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
## Sviluppo frontend
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Per modificare la parte frontend (React) del progetto, posizionarsi nella cartella `frontend` e lanciare i comandi:
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
npm install
npm run build
npm run dev
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
## Riabilitare la generazione dei link IPFS
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
Per riabilitare i bottoni/link ai Gateway IPFS, aprire il file `frontend/src/components/BooksDetailsCard.tsx` e de-commentare le seguenti linee di codice:
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
(da riga 22)
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
// const downloadLinkFromIPFS = (gateway: string, book: Book) => {
// return (
// `https://${gateway}/ipfs/${book.ipfs_cid}?filename=` +
// encodeURIComponent(`${book.title}_${book.author}.${book.extension}`)
// );
// }
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
(da riga 91)
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
{/* <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> */}
2023-01-07 20:40:21 +00:00
```
2023-01-08 16:29:07 +00:00
## Licenza
2023-01-07 20:40:21 +00:00
2023-01-08 16:29:07 +00:00
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.