Coverage Status Inline docs Yard Docs Maintainability

Partecipo!

Il programma, interamente sviluppato all'interno del settore Sviluppo di AGP-INF, nasce da una specifica necessità di I.S.P.R.A. nel gestire le prenotazioni degli eventi per i dipendenti ISPRA.

Il programma è stato appositamente sviluppato su piattaforma web per consentire l'accesso alle risorse interne tramite l'utilizzo di un comune browser web.

All'interno dell'applicazione è possibile gestire la pubblicazione di eventi e le partecipazioni nelle varie date.

Licenza

Il codice sorgente del sito progetto è rilasciato sotto licenza MIT License (codice SPDX: MIT). La licenza è visibile nel file LICENSE

Repository

Questo repository contiene il codice sorgente del programma.

Il sito è sviluppato in linguaggio Ruby 3.3, framework Rails 7.1.

Specifiche tecniche progetto

Requisiti tecnici per ambiente server

  • Linguaggio di programmazione: Ruby 3.3
  • Framework: Rais 7.1
  • Bun
  • Database: PostgreSQL >= 12.2

o in alternativa

  • Docker

Requisiti minimi per i client

  • Mozilla Firefox 53, Chrome 58, Microsoft Edge, Internet Explorer 11, Safari 9.0 o altro browser compatibile con HTML 5, CSS 3;
  • Per Internet Explorer 11 la modalità di compatibilità deve essere disattivata;
  • Javascript abilitato;
  • Cookie abilitati;
  • Supporto ai certificati SSL;
  • Risoluzione schermo 1024x768.

Configurazione consigliata per i client

  • Mozilla Firefox >= 53, Chrome >= 58, Microsoft Edge, Safari 9.0 o altro browser compatibile con HTML 5 e CSS 3;
  • Javascript abilitato;
  • Cookie abilitati;
  • Supporto ai certificati SSL;

Installazione ambiente

Installare ruby 3.3.0, consigliato RVM.

Installazione applicazione

In sviluppo

  1. Clonare il progetto in sviluppo

      git clone https://github.com/isprambiente/partecipo.git
    
  2. Da una shell posizionarsi sulla root del progetto ed eseguire

      gem install bundle
      bundle install
      bun install
    
  3. Creare il file config/settings.local.yml partendo da config/settings.yml per sovrascrivere i parametri di default. Il file è incluso nel .gitignore pertanto sarà necessario ricopiarlo manualmente sul server nel path shared/config/settings.local.yml

Demo con docker / docker compose

  1. Clonare il progetto in sviluppo

      git clone https://github.com/isprambiente/partecipo.git
    
  2. effettuare la build del progetto: docker build -t partecipo .

  3. Eseguire eventualmente il docker compose

    • Modificare le variabili di configurazione nel file docker-compose.yml
    • Creare chiave e certificato per il webserver ed inserirli nei file docker-compose/nginx/cert/partecipo.key e docker-compose/nginx/cert/partecipo.crt. Per testare il servizio è possibile creare un certificato selfsigned per localhost con il comanto: openssl req -x509 -out localhost.crt -keyout localhost.key -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' -extensions EXT -config <( \ printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
    • avviare il compose con il comando docker compose up verrà avviato un webserver nginx con https su porta 443 che darà accesso al portale Partecipo, il database postgres, redis e il server rails rimarranno chiusi nella rete virtuale partecipo di docker. Se non diversamente configurato il portale sarà raggiungibile su https://localhost
  4. Per accedere utilizzare le seguenti credenziali:

Partecipa!

Puoi collaborare allo sviluppo dell'applicazione e della documentazione tramite github.

Tramite Github discussions è possibile richiedere e offrire aiuto.

Se riscontrate errori e bug potete segnalarli nella paggina delle Issues