# RuscoMap _Una mappa webapp della propria città dove degli utenti in anonimo posso scattare una foto agli oggetti/mobili abbandonati per strada e segnalarli a tutti i visitatori della mappa._
Sulla falsa riga del "_te lo regalo se vieni a prenderlo_", questo è più il "_c'è sta roba lì, è tua se te la vai a prendere_" ## ToDo per essere funzionale alla versione 0.1 [X] Aggiungere il marker (visivo) al clic di inserimento marker
[in_test] Check periodico marker (aggiunge nuovi e rimuove > 24h)
[in_test] Cancellare i marker creati > di 24h (sia record db che img)
## Possibili Implementazioni Feature/fix scritte in ordine di priorità: [X] Bottone "aggiungi marker" quando premuto diventa una "X" che se premuta annulla l'inserimento marker
[ ] Quando viene aggiunto un nuovo marker l'icona in alto a dx rimane X rossa invece di tornare in modalità visualizzazione
[ ] Mostrare data/ora pubblicazione del marker per far capire al visitatore quanto tempo fa è stato avvistato il rusco
[X] Al momento si possono aggiungere infiniti marker (temporanei), da fixare
[ ] Formattare visualizzazione form inserimento marker da mobile
[ ] Al momento sul marker temporaneo si vede l'immagine rotta. fixare: sul temporaneo non bisogna mostrare nulla
[ ] Creare form per ricercare tra i titoli/descrizioni dei marker esistenti (query esempio: "divano")
[ ] Milgiorare css del form inserimento dati marker
[ ] Inserire la posizione del marker tramite il gps dello smartphone
[ ] Scatta la foto del marker da uploadare direttamente in app (su alcuni smartphone gia lo fa)
[ ] Creare form e gestire login utenti
[ ] Possibilità di aggiungere piu di una foto per un marker

---

# ISTRUZIONI INSTALLAZIONE ## Installazione dipendenze #### Installa mariadb sudo apt update && sudo apt install mariadb #### Installa node e nvm Curl da sito ufficiale [qui](https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script)
_trobleshooting: cerca nvm in .bashrc_ ## Installazione ruscomap #### Clona il git ``` # crea la cartella mkdir /var/www/html/leaflet/; cd /var/www/html/leaflet/; # clona il repo git clone https://git.lattuga.net/scossa/ruscomap.git ``` #### Personalizza il file di configurazione db nano /var/www/html/leaflet/ruscomap/config/default.json #### Inizializza db ``` # 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/; # inzializza Db mysql < intDb.sql ``` #### Apri porta sul firewall sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT #### Crea il servzio nano /etc/systemd/system/ruscomap.service ``` [Unit] Description=Ruscomap Service After=network.target [Service] User= WorkingDirectory=/var/www/html/leaflet/ruscomap/ ExecStart=/bin/bash -c "node index.js" Restart=always RestartSec=5 [Install] WantedBy=multi-user.target ``` ##### avvialo e abilitalo a startarsi in automatico ``` sudo systemctl start ruscomap.service sudo systemctl enable ruscomap.service ``` #### Crea il file conf di apache nano /etc/apache2/site-enabled/ruscomap.conf ``` #PORT 80 RUSCOMAP DocumentRoot /var/www/html/leaflet/ruscomap/public ServerName ruscomap.myserver.it 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 ``` ##### restarta apache ``` sudo systemctl restart apache2.service ```
# ISTRUZIONI ADMIN ## Cancella un record del db ``` mariadb -u -p show databases; use ruscomap; show tables; select * from markers; DELETE FROM markers WHERE filename = '0a9f02167f85c845db2d4b81bbeef9d5'; ``` ## Script per aggiornare ruscomap nano /var/www/html/leaflet/ruscomap/AggiornaRuscoMap.sh ``` echo -e "Stoppo ruscomap..." systemctl stop ruscomap.service sleep 1 cd /var/www/html/leaflet/ruscomap echo -e "\nEseguo git pull..." git pull sleep 1 echo -e "Do permessi www-data..." chown -R www-data:www-data /var/www/html/leaflet/ruscomap/public echo -e "restarto apache e ruscmap"... systemctl restart apache2.service systemctl start ruscomap.service echo -e "Aggiornamento completato!\n" ```