2024-08-18 17:03:41 +02:00
# RuscoMap
2024-08-17 01:19:31 +02:00
2024-08-19 19:49:38 +02:00
_Una mappa della propria città dove utenti in anonimo possono inserire dei marker con nome, descrizione e foto dell'oggetto abbandonato, segnalandolo a tutti i visitatori della mappa._
2024-08-19 00:05:39 +02:00
< br > Sulla falsa riga del "_te lo regalo se vieni a prenderlo_", questo è più il "_segnalo che c'è sta roba lì, è tua se te la vai a prendere_"
2024-08-18 16:53:56 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 0.1
2024-06-30 23:01:33 +02:00
2024-08-19 00:36:19 +02:00
- [x] Aggiungere il marker (visivo) al clic di inserimento marker [[commit f611832592 ](https://git.lattuga.net/scossa/ruscomap/commit/f6118325925ba91173cf5bcc0a206b85fa3ef1a3 )]
2024-08-19 01:12:10 +02:00
- [x] Al momento si possono aggiungere infiniti marker (temporanei), da fixare [[commit 0fba9efe99 ](https://git.lattuga.net/scossa/ruscomap/commit/0fba9efe99057119ef5eedec078987482a193fea )]
2024-08-19 13:23:44 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 0.2
2024-08-19 02:25:51 +02:00
2024-08-19 16:58:48 +02:00
- [x] ~~Cancellare i marker creati > di 24h (sia record db che img)~~ [[commit 78d4b6b216 ](https://git.lattuga.net/scossa/ruscomap/commit/78d4b6b2169d43550aa3af800ac2f946ebeb9743 )]
2024-08-20 00:37:08 +02:00
- [x] Rimuovere pezzi di codice js per cancellare marker creati > di 24h. [[commit 971f1a0672 ](https://git.lattuga.net/scossa/ruscomap/commit/971f1a06725cd633da7904ae412a2e53f2afeab4 )]
2024-08-19 20:11:26 +02:00
- [x] Scrivere script bash (< code > delete_rusco.sh</ code > ) che cancella tutti marker [[commit 8a5260d62f ](https://git.lattuga.net/scossa/ruscomap/commit/8a5260d62f4333f4ae9c6cd1489f41481f5635f6 )]
- [x] Scrivere script bash (< code > pulisci_vecchio_rusco.sh</ code > ) che cancella tutti marker più vecchi di 24h (automatico) [[commit 8a5260d62f ](https://git.lattuga.net/scossa/ruscomap/commit/8a5260d62f4333f4ae9c6cd1489f41481f5635f6 )]
2024-08-19 17:12:21 +02:00
- [x] Come mettere nel cron del server lo script che cancella i marker più vecchi di 24h [[commit 5dc0c22eae ](https://git.lattuga.net/scossa/ruscomap/commit/5dc0c22eae2a4222f3ce8dc35a1d89df02ac836a )]
2024-08-19 16:58:48 +02:00
- [x] Scrivere script bash (< code > pulisci_manualmente_vecchio_rusco.sh</ code > ) che cancella tutti marker più vecchi di 24h (manuale) [[commit 8a5260d62f ](https://git.lattuga.net/scossa/ruscomap/commit/8a5260d62f4333f4ae9c6cd1489f41481f5635f6 )]
- [x] pushare e spostare script in cartella < code > /script</ code > [[commit 8a5260d62f ](https://git.lattuga.net/scossa/ruscomap/commit/8a5260d62f4333f4ae9c6cd1489f41481f5635f6 )]
2024-08-19 13:23:44 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 0.3
2024-08-17 14:09:47 +02:00
2024-08-21 01:35:02 +02:00
- [x] Riformattare visualizzazione form inserimento marker per mobile [[commit 9d5a7f8b71 & parents ](https://git.lattuga.net/scossa/ruscomap/commit/9d5a7f8b71e0e2dd39f0addfa4a8117f62e23170 )]
- [x] Milgiorare css del form inserimento dati marker [[commit 9d5a7f8b71 & parents ](https://git.lattuga.net/scossa/ruscomap/commit/9d5a7f8b71e0e2dd39f0addfa4a8117f62e23170 )]
### ToDo per versione 0.4
2024-08-19 01:11:08 +02:00
- [x] Implementare il bottone in alto a dx: quando premuto per passare alla modalità inserimento diventa una _X rossa_ che se premuta annulla l'inserimento marker [[commit fa82dc221e ](https://git.lattuga.net/scossa/ruscomap/commit/fa82dc221e2e8d1648c78534c0320bd099f897f0 )]
2024-08-22 02:15:46 +02:00
- [x] A marker aggiunto con successo come icona del bottone in alto a dx rimane la X rossa (in modalità inserimento marker) invece di ritornare l'icona del marker (ovvero passare in modalità normale/visualizzazione) [[commit f9868974c6 ](https://git.lattuga.net/scossa/ruscomap/commit/f9868974c6b6fd5b92d8684bf5dad7687524a92d )]
- [x] Eliminare visualizzazione del marker temporaneo se viene cliccata la X rossa o aggiunto un nuovo marker (non temp) [[commit f9868974c6 ](https://git.lattuga.net/scossa/ruscomap/commit/f9868974c6b6fd5b92d8684bf5dad7687524a92d )]
2024-08-19 00:34:58 +02:00
2024-08-21 01:35:02 +02:00
### ToDo per versione 0.5
2024-08-19 00:34:58 +02:00
2024-08-23 11:06:43 +02:00
- [x] Mostrare data/ora pubblicazione del marker per far capire al visitatore quanto tempo fa è stato avvistato il rusco
- [x] Eliminare dati e immagine da marker temporaneo (lasciare solo descrizione)
2024-08-19 00:34:58 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 0.6
2024-08-19 00:34:58 +02:00
2024-08-22 00:35:33 +02:00
- [ ] Cancellare dati file picker del form
2024-08-19 01:11:08 +02:00
- [ ] Pop-Up all'apertura di ruscomap con descrizione breve
- [ ] Scrivere il tutorial utente di ruscomap
- [ ] Creare pagina tutorial
- [ ] Link alla pagina del tutorial nel PopUp iniziale
2024-08-19 13:23:44 +02:00
2024-08-22 00:35:33 +02:00
### ToDo per versione 0.7
2024-08-22 02:15:46 +02:00
- [ ] Creare form per ricercare tra i titoli/descrizioni dei marker esistenti (query esempio: "divano", scompaiono tutti i marker e rimangono solo quelli che nel nome o descrizione hanno "divano")
2024-08-22 00:35:33 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 0.8
2024-08-19 02:56:34 +02:00
2024-08-23 11:06:43 +02:00
- [ ] Fixare il refresh automatico da markertemp a marker quando si clicca Aggiungi Marker (a volte lo fa già)
- [ ] Inserire la posizione del marker tramite il gps dello smartphone
2024-08-19 13:31:11 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 0.9
2024-08-19 13:31:11 +02:00
2024-08-23 11:06:43 +02:00
- [ ] Creare form login per admin
- [ ] Creare bottone per form/pagina "area riservata"/"accedi"
- [ ] Creare Pannello Admin
2024-08-22 02:15:46 +02:00
- [ ] Creare ruolo Admin: Visita mappa, Aggiungi marker, Accesso a pannello admin
- [ ] Gestione autenticazione utente admin con password per accesso al pannello
2024-08-19 13:27:53 +02:00
---
2024-08-19 01:31:57 +02:00
2024-08-19 19:51:03 +02:00
## ToDo per versione 1.0
2024-08-19 02:56:34 +02:00
2024-08-22 02:15:46 +02:00
- [ ] Implementare il pannelo per permettere all'admin di poter creare utenti (nomeutente/password, no mail o altro)
- [ ] Creare ruolo Utente. Permessi: Visita mappa, Aggiungi marker
- [ ] Ruolo Ospite. Permessi: Visita mappa
2024-08-19 00:53:52 +02:00
- [ ] Gestione autenticazione utenti con password
2024-08-19 03:39:48 +02:00
- [ ] Implemtare nel pannello lo switch per on/off inserimento solo utenti e admin o anche ospiti.
2024-08-19 00:53:52 +02:00
2024-08-19 03:39:48 +02:00
---
2024-08-17 17:06:44 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 1.1
2024-08-19 02:56:34 +02:00
2024-08-19 03:39:48 +02:00
- [ ] Feature da pannello admin: poter cancellare un utente
2024-08-19 02:56:34 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 1.2
2024-08-19 02:56:34 +02:00
2024-08-19 03:39:48 +02:00
- [ ] Feature da pannello admin: poter disabilitare un utente
2024-08-19 02:56:34 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 1.3
2024-08-19 02:56:34 +02:00
2024-08-19 03:39:48 +02:00
- [ ] Cancella Marker
- [ ] Quando autenticati come admin mostrare un pulsante affianco/sopra/dentro al form dei dati del marker che ha la funzione di cancellare il marker corrispondente
- [ ] Popup che chiede la conferma della cancellazione del marker
2024-08-19 19:56:13 +02:00
- [ ] Dare permessi di cancellazione marker all'admin
2024-08-19 03:39:48 +02:00
2024-08-19 19:51:03 +02:00
### ToDo per versione 1.4
2024-08-19 03:39:48 +02:00
2024-08-19 19:56:13 +02:00
- [ ] Creare Ruolo Moderatore. Permessi : Visita mappa, Aggiungi marker, Cancella marker
2024-08-19 03:39:48 +02:00
2024-08-22 02:15:46 +02:00
### ToDo per versione 1.5
2024-08-19 03:39:48 +02:00
2024-08-19 19:56:13 +02:00
- [ ] Feature da pannello admin: poter cambiare ruolo a un utente (utente < --- > moderatore)
2024-08-19 03:39:48 +02:00
2024-08-22 02:15:46 +02:00
### ToDo per versione 1.6
2024-08-19 03:39:48 +02:00
- [ ] Feature da pannello admin: poter settare permessi personalizzati ai vari Ruoli (magari si vuole dare l'inserimento anche agli ospiti e/o la cancellazione dei marker agli user)
2024-08-19 13:23:44 +02:00
2024-08-22 02:15:46 +02:00
### ToDo per versione 1.7
2024-08-19 03:39:48 +02:00
2024-08-19 02:56:34 +02:00
- [ ] Creare form registrazione con mail
- [ ] Richiedere conferma mail via link spedito a l'indirizzo
2024-08-19 13:23:44 +02:00
2024-08-22 02:15:46 +02:00
## ToDo per versione 2.0
2024-08-19 13:23:44 +02:00
2024-08-19 13:31:11 +02:00
- [ ] Implementare ActivityPub
2024-08-19 02:56:34 +02:00
2024-08-22 02:15:46 +02:00
## Possibili altre implementazioni possibili in qualsiasi momento
2024-08-19 03:39:48 +02:00
2024-08-22 02:15:46 +02:00
- [ ] Marker freschezza rusco (esempio: piu è datato il marker inserito e piu è scuro il colore del marker)
2024-08-19 03:39:48 +02:00
- [ ] Script di installazione ruscomap
2024-08-22 02:15:46 +02:00
- [ ] Fare il modo che lo scrit di Aggiornamento non pialli le var settate negli script di pulizia rusco
2024-08-19 03:39:48 +02:00
- [x] Standardizzare gli script con controllo "myusername"
- [ ] Standardizzare con le varialibili del < code > default.json</ code > gli script
- [ ] File config per popolare default.json e gli script
- [ ] Creare logo RuscoMap
2024-08-22 02:15:46 +02:00
- [ ] Scatta la foto del marker da uploadare direttamente in app (su alcuni smartphone gia lo fa)
- [ ] Possibilità di aggiungere piu di una foto per un marker
- [ ] Implemtare review per moderazione rusco inserito. switch per on/off moderazione da annello
2024-08-19 02:56:34 +02:00
2024-08-18 16:53:56 +02:00
< br >
---
2024-08-18 00:44:43 +02:00
< br > < br >
2024-08-17 17:06:44 +02:00
2024-08-21 14:39:46 +02:00
2024-08-18 16:47:06 +02:00
# ISTRUZIONI INSTALLAZIONE
2024-08-18 00:44:43 +02:00
2024-08-18 16:47:06 +02:00
## Installazione dipendenze
2024-08-18 01:16:05 +02:00
#### Installa mariadb
< code > sudo apt update & & sudo apt install mariadb< / code >
#### Installa node e nvm
2024-08-18 00:44:43 +02:00
Curl da sito ufficiale [qui ](https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script ) < br >
_trobleshooting: cerca nvm in .bashrc_
2024-08-18 01:16:05 +02:00
## Installazione ruscomap
2024-08-18 17:03:41 +02:00
#### Clona il git
2024-08-18 00:44:43 +02:00
```
# crea la cartella
mkdir /var/www/html/leaflet/; cd /var/www/html/leaflet/;
# clona il repo
2024-08-18 17:33:30 +02:00
git clone https://git.lattuga.net/scossa/ruscomap.git
2024-08-18 00:44:43 +02:00
```
2024-08-18 17:03:41 +02:00
#### Personalizza il file di configurazione db
2024-08-18 00:44:43 +02:00
< code > nano /var/www/html/leaflet/ruscomap/config/default.json< / code >
2024-08-18 17:03:41 +02:00
#### Inizializza db
2024-08-18 00:44:43 +02:00
```
# usa la versione node spcificata nel file .nvmrc
cd /var/www/html/leaflet/ruscomap/; nvm use
# sempre da cartella git
cd /var/www/html/leaflet/ruscomap/;
2024-08-18 17:35:11 +02:00
# inzializza Db
mysql < intDb.sql
2024-08-18 00:44:43 +02:00
```
2024-08-18 17:03:41 +02:00
#### Apri porta sul firewall
2024-08-18 16:47:06 +02:00
< code > sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT< / code >
2024-08-18 00:44:43 +02:00
2024-08-18 17:03:41 +02:00
#### Crea il servzio
2024-08-18 00:46:25 +02:00
< code > nano /etc/systemd/system/ruscomap.service< / code >
2024-08-18 00:44:43 +02:00
```
[Unit]
Description=Ruscomap Service
After=network.target
[Service]
2024-08-18 17:32:32 +02:00
User=< utente_del_config / default . json >
2024-08-18 00:44:43 +02:00
WorkingDirectory=/var/www/html/leaflet/ruscomap/
ExecStart=/bin/bash -c "node index.js"
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
```
2024-08-18 17:09:34 +02:00
##### avvialo e abilitalo a startarsi in automatico
```
sudo systemctl start ruscomap.service
sudo systemctl enable ruscomap.service
```
2024-08-18 00:44:43 +02:00
2024-08-18 17:03:41 +02:00
#### Crea il file conf di apache
2024-08-18 00:44:43 +02:00
< code > nano /etc/apache2/site-enabled/ruscomap.conf< / code >
```
#PORT 80 RUSCOMAP
2024-08-18 16:47:06 +02:00
< VirtualHost ruscomap . myserver . it:80 >
2024-08-18 00:44:43 +02:00
DocumentRoot /var/www/html/leaflet/ruscomap/public
2024-08-18 16:47:06 +02:00
ServerName ruscomap.myserver.it
2024-08-18 00:44:43 +02:00
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket
RewriteRule /(.*) ws://localhost:3000/$1 [P,L]
ErrorLog ${APACHE_LOG_DIR}/ruscomap.log
CustomLog ${APACHE_LOG_DIR}/ruscomap-access.log combined
< / VirtualHost >
```
2024-08-18 17:09:34 +02:00
##### restarta apache
```
sudo systemctl restart apache2.service
```
2024-08-18 00:44:43 +02:00
< br >
2024-08-21 14:39:46 +02:00
2024-08-18 16:47:06 +02:00
# ISTRUZIONI ADMIN
2024-08-21 14:39:46 +02:00
#### Script per cancellare tutti i record della table "markers" più vecchi di 24h (automatico)
2024-08-19 01:31:57 +02:00
2024-08-19 17:09:12 +02:00
Si trova in [<code>/var/www/html/leaflet/ruscomap/script/pulisci_vecchio_rusco.sh</code> ](script/pulisci_vecchio_rusco.sh )
2024-08-19 01:31:57 +02:00
2024-08-21 14:39:46 +02:00
##### Imposta lo script su cron per essere eseguito ogni 24h
2024-08-19 01:31:57 +02:00
```
2024-08-19 19:59:15 +02:00
# Per eseguire tutti i giorni a mezzanotte lo script che elimina tutti i marker più vecchi di 24h:
2024-08-19 17:09:12 +02:00
# Entra in modalità edit su cron:
crontab -e
2024-08-19 01:31:57 +02:00
2024-08-19 17:09:12 +02:00
# Edita il file aggiungendo la riga:
0 0 * * * /var/www/html/leaflet/ruscomap/script/pulisci_vecchio_rusco.sh
# Assicurati che lo script abbia i permessi di esecuzione:
ls -l /var/www/html/leaflet/ruscomap/script/pulisci_vecchio_rusco.sh
# Se mancano, impostali:
chmod +x /var/www/html/leaflet/ruscomap/script/pulisci_vecchio_rusco.sh
2024-08-19 01:31:57 +02:00
```
2024-08-21 14:39:46 +02:00
#### Script per cancellare tutti i record della table "markers" più vecchi di 24h (manuale)
2024-08-19 02:21:17 +02:00
2024-08-19 17:09:12 +02:00
Si trova in [<code>/var/www/html/leaflet/ruscomap/script/pulisci_manualmente_vecchio_rusco.sh</code> ](script/pulisci_manualmente_vecchio_rusco.sh )
2024-08-19 02:21:17 +02:00
2024-08-21 14:39:46 +02:00
#### Script per aggiornare ruscomap
2024-08-19 16:56:29 +02:00
2024-08-19 17:09:12 +02:00
Si trova in [<code>/var/www/html/leaflet/ruscomap/script/AggiornaRuscoMap.sh</code> ](script/AggiornaRuscoMap.sh )
2024-08-19 16:56:29 +02:00
2024-08-21 14:39:46 +02:00
#### Script per cancellare tutti i record della table "markers"
2024-08-19 16:56:29 +02:00
2024-08-19 17:09:12 +02:00
Si trova in [<code>/var/www/html/leaflet/ruscomap/script/delete_rusco.sh</code> ](script/delete_rusco.sh )
2024-08-19 02:21:17 +02:00
2024-08-21 14:39:46 +02:00
#### Cancella un singolo record del db
2024-08-18 16:47:06 +02:00
```
2024-08-18 17:32:32 +02:00
mariadb -u < utente_del_config / default . json > -p
2024-08-18 16:47:06 +02:00
show databases;
use ruscomap;
show tables;
select * from markers;
DELETE FROM markers WHERE filename = '0a9f02167f85c845db2d4b81bbeef9d5';
2024-08-18 00:44:43 +02:00
```