4 KiB
RUSCOMAP
Una mappa webapp della propria città dove degli utenti autenticati (anche in anonimo) posso scattare una foto agli oggetti/mobili abbandonati per strada e segnalarli a tuttii visitatori della mappa.
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à
[ ] Bottone "aggiungi marker" quando premuto diventa una "X" che se premuta annulla l'inserimento marker
[ ] 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, sul temporaneo non bisogna mostrare nulla
[ ] Creare form per ricerca 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
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.netscossa/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
Creare 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
Creare file conf di apache
nano /etc/apache2/site-enabled/ruscomap.conf
#PORT 80 RUSCOMAP
<VirtualHost ruscomap.myserver.it:80>
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
</VirtualHost>
ISTRUZIONI ADMIN
Cancella un record del db
mariadb -u ruscone -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"