Jorvik è il nome in codice del progetto di ridisegno del software del Progetto Gaia Croce Rossa Italiana (GitHub, Web).
I punti chiave nella riprogettazione sono i seguenti:
- Raccogliere il feedback ottenuto tramite feedback@gaia.cri.it,
- Raccogliere le necessità espresse dagli utenti tramite il Supporto,
- Raccogliere le nuove necessità dell'Associazione,
Sei interessato a partecipare allo sviluppo di Gaia/Jorvik? Contattaci all'indirizzo e-mail sviluppo@gaia.cri.it!
Jorvik viene installato e testato sulle recenti versioni di Python 3, in modo automatico, da Travis CI ad ogni push.
*: Il deployment non viene ancora effettuato automaticamente.
Nome | Link | Branch | Stato CI | Destinazione d'uso | Auto update |
---|---|---|---|---|---|
leia |
URL | staging-leia |
Staging, pre-produzione | Sì | |
hansolo |
URL | staging-hansolo |
Supporto, formazione supporto | Sì | |
luke |
URL | staging-luke |
Testing, QA | Sì | |
chewbacca |
URL | staging-chewbacca |
Sviluppo, pre-staging | Sì | |
obiwan |
URL | staging-obiwan |
Eventi di formazione, supporter | Sì |
- Gli ambienti di sviluppo e staging sono ospitati presso la macchina dedicata per la squadra di supporto e sviluppo (
sviluppo-gaia.ovh
), - Le installazioni su questa macchina si aggiornano automaticamente col codice del relativo branch di staging,
- Il database viene scaricato settimanalmente dalla installazione in produzione, e tutte le modifiche effettuate nella settimana precedente vengono distrutte,
- Le installazioni di staging non sono in grado di inoltrare i messaggi di posta -nonostante si illudano di farlo correttamente-,
- Inoltre, le procedure programmate e periodiche (cron jobs) non vengono eseguite su queste installazioni,
- Le installazioni sono da considerarsi condivise e, nel caso di utilizzo, l'utente non deve aspettarsi alcuna forma di privacy relativamente ai dati inseriti, garanzia sul servizio, o alcuna forma di affetto da parte degli sviluppatori.
Puoi trovare la Documentazione sul Wiki del progetto.
- Python 3.4 e superiore (es.
python3
) - PIP 3 (es.
pip3
) - PostgreSQL 9.4+ con PostGIS)
- GEOS (Geometry Engine Open Source)
- Linux, Mac OS X e, probabilmente, Windows Server 2008 o 7 e superiori
Per la configurazione automatica dell'ambiente di sviluppo su Linux, Mac OS X 10.9+ e Windows 8+, è possibile usare Vagrant con VirtualBox. Vagrant gestisce la creazione e la configurazione automatica (provisioning) di una macchina virtuale.
-
Scarica Jorvik usando Git (GitHub Desktop per Windows e Mac OS X, o da terminale come segue)
git clone --recursive https://github.com/CroceRossaItaliana/jorvik
-
Aprire un terminale (prompt dei Comandi su Windows) e accedere alla cartella dove risiede il codice appena scaricato.
cd jorvik
-
Scarica VirtualBox da virtualbox.org,
-
Scarica Vagrant da vagrantup.com,
-
Configura la macchina virtuale (potrebbe volerci un po')
vagrant up
-
Crea il primo utente (amministratore)
vagrant ssh cd /vagrant python3 manage.py syncdb
-
Installare PyCharm Professional da JetBrains. La licenza e' gratis per gli studenti. Contattaci se necessiti di una licenza per lavorare su Jorvik: abbiamo un numero limitato di licenze, quindi approfitta del trial di 30 giorni per assicurarti di voler collaborare.
-
Configurare PyCharm per usare Vagrant:
-
Preferenze > Progetto > Interprete > Aggiungi interprete remoto
-
Scegliere "Vagrant" e
/usr/bin/python3
come interprete, e cliccare OKNota bene: Su Mac OS X, se questo step fallisce ("impossibile trovare vagrant"), e' per via di un bug noto con la piattaforma. In tal caso e' necessario chiudere e riavviare PyChar da Terminale, con il comando
charm
. -
Assicurarsi che l'interprete "Vagrant" sia ora selezionato come predefinito per il progetto, quindi cliccare OK
-
Configurare (primo avvio) e avviare la macchina virtuale
vagrant up
-
Spegnere la macchina virtuale
vagrant halt -f
-
Cancellare e riconfigurare la macchina virtuale
vagrant halt -f && vagrant destroy -f && vagrant up
-
Collegarsi in SSH alla macchina virtuale (se necessario)
vagrant ssh cd vagrant/ # Directory con jorvik
JetBrains PyCharm racchiude gli strumenti Django in un buon IDE.