README.md 3.14 KB
Newer Older
Aaron Iemma's avatar
Aaron Iemma committed
1
2
Save the Prince!
==========================
Aaron Iemma's avatar
Aaron Iemma committed
3

Aaron Iemma's avatar
Aaron Iemma committed
4
Save the Prince (http://savetheprince.net) è un progetto originato dalla community [WWF YOUng Italia][0] volto a promuovere e coordinare gli sforzi dei volontari impegnati nei salvataggi degli anfibi dagli investimenti stradali: durante le migrazioni primaverili verso i luoghi di riproduzione, tale classe di sensibilissimi vertebrati (i primi a subire le pressioni del cambiamento climatico, delle malattie e della frammentazione degli habitat secondo la [IUCN][1]) subisce pesantissime perdite a causa degli investimenti durante l'attraversamento di arterie stradali. Spostandosi spesso in notturna, l'unico modo di ridurre tale impatto è rappresentato spesso dall'azione dei volontari, che con metodi adeguati spostano gli esemplari da una carreggiata all'altra della strada, allo stesso tempo memorizzando i dati del numero individui raccolti. 
Aaron Iemma's avatar
Aaron Iemma committed
5

Aaron Iemma's avatar
Aaron Iemma committed
6
L'azione è supportata da numerose associazioni, tra le quali [WWF Italia][2] e [SOS Anfibi][3].
Aaron Iemma's avatar
Aaron Iemma committed
7

Aaron Iemma's avatar
Aaron Iemma committed
8
...Per approfondire, c'è pure un [Little Talk][4]!
Aaron Iemma's avatar
Aaron Iemma committed
9

Aaron Iemma's avatar
Aaron Iemma committed
10
11
12
13
14
15
16
# Tecnologie
Il sito è costruito con [Python][4] usando il framework di sviluppo web [Django Web Framework][5] (usando come base un "Fantastic Project Starter", [Edge][6]) e il database [PostgreSQL][7] in congiunzione con la sua estensione spaziale [PostGIS][8].

Il progetto è composto dalle seguenti, semplici, applicazioni:

* profiles (gestione delle anagrafiche dei volontari e delle associazioni) 
* observations (memorizzazione delle osservazioni per i siti di salvataggio)
Aaron Iemma's avatar
Aaron Iemma committed
17
* news (microblogging)
Aaron Iemma's avatar
Aaron Iemma committed
18

Aaron Iemma's avatar
Aaron Iemma committed
19
### Quick start (più o meno)
Aaron Iemma's avatar
Aaron Iemma committed
20
21

Per lanciare velocemente il sito in locale, dopo aver copiato il *repository* è sufficiente installare
Aaron Iemma's avatar
Aaron Iemma committed
22
Python 3 e attivare l'ambiente virtuale (*pipenv*) all'interno del quale il progetto è impacchettato.
Aaron Iemma's avatar
Aaron Iemma committed
23

Aaron Iemma's avatar
Aaron Iemma committed
24
	pipenv install --python 3.6
Aaron Iemma's avatar
Aaron Iemma committed
25
26
27

Si installano quindi tutte le dipendenze:

Aaron Iemma's avatar
Aaron Iemma committed
28
    pipenv sync
Aaron Iemma's avatar
Aaron Iemma committed
29
30
31

Ed infine, si effettuano le migrazioni sul proprio database:

Aaron Iemma's avatar
Aaron Iemma committed
32
	cd src
Aaron Iemma's avatar
Aaron Iemma committed
33
34
    python manage.py migrate

35
Il sito, lavorando su una corposa parte geografica, lavora al meglio in congiunzione con un database PostgreSQL, che si può abilitare su distribuzioni Unix-Like come segue:
Aaron Iemma's avatar
Aaron Iemma committed
36
37
38

* Per la creazione dell'utente amdin:

Aaron Iemma's avatar
Aaron Iemma committed
39
40
41
42
	```bash
    sudo su postgres
    psql 
	```
Aaron Iemma's avatar
Aaron Iemma committed
43
44
45

* Per la creazione del database

Aaron Iemma's avatar
Aaron Iemma committed
46
47
48
49
	```psql
    CREATE USER admin WITH LOGIN SUPERUSER PASSWORD 'mioapassword';
    \q
	```
Aaron Iemma's avatar
Aaron Iemma committed
50

Aaron Iemma's avatar
Aaron Iemma committed
51

Aaron Iemma's avatar
Aaron Iemma committed
52
* Per l'abilitazione del database alla ricezione di richieste di connessione dall'esterno: 
Aaron Iemma's avatar
Aaron Iemma committed
53
	
Aaron Iemma's avatar
Aaron Iemma committed
54
55
56
57
58
59
60
61
	* in postgresql.conf 
	```bash	
    listen_addresses = "*"
    ```
    * in pg_hba.conf 
	```bash
    host	all	all	0.0.0.0/0	trust
	```	
62
63
64
65
66
67
68
* Per l'abilitazione dell'estensione spazializzante:

	```psql
	CREATE EXTENSION postgis;
	\q
	```
* 
Aaron Iemma's avatar
Aaron Iemma committed
69
70
71
72
73

[0]: https://www.wwf.it/tu_puoi/wwf_young/
[1]: https://en.wikipedia.org/wiki/List_of_endangered_amphibians
[2]: https://www.wwf.it
[3]: https://www.sosanfibi.it
Aaron Iemma's avatar
Aaron Iemma committed
74
75
76
77
78
79
[4]: https://www.facebook.com/WWFYOUng/videos/1585922534861522/
[5]: https://www.python.org/
[6]: https://www.djangoproject.com/
[7]: https://github.com/arocks/edge
[8]: https://www.postgresql.org
[9]: https://postgis.net
Aaron Iemma's avatar
Aaron Iemma committed
80

Aaron Iemma's avatar
Aaron Iemma committed
81
# Dedicato a...
82
Il sito è dedicato ad Enrico Romanazzi: che la sua memoria sia viva per sempre nell'animo di ogni rospista!