isprambiente/Domando

View on GitHub
README.md

Summary

Maintainability
Test Coverage
[![Coverage Status](https://coveralls.io/repos/github/isprambiente/domando/badge.svg?branch=main)](https://coveralls.io/github/isprambiente/Domando?branch=main)
[![Inline docs](http://inch-ci.org/github/remote-exec/command-designer.png)](http://inch-ci.org/github/isprambiente/domando)
[![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/isprambiente/domando/main)
[![Maintainability](https://api.codeclimate.com/v1/badges/be06f3229dd434cdd732/maintainability)](https://codeclimate.com/github/isprambiente/Domando/maintainability)

# Domande frequenti (FAQ)

Il programma, interamente sviluppato all'interno del settore Sviluppo di AGP-INF, nasce da una specifica necessità di [I.S.P.R.A.](http://www.isprambiente.gov.it) nel gestire le domande frequenti (FAQ) 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](https://opensource.org/licenses/MIT)

## Repository
Questo repository contiene il codice sorgente del programma.

Il sito è sviluppato in linguaggio Ruby 2.7, framework Rails 6.0 e webpacker StimulusJS.

### Specifiche tecniche progetto
* [Ruby 3.0.x](https://www.ruby-lang.org)
* [RVM](https://rvm.io/)
* [Ruby on Rais 7.0](https://rubyonrails.org/)
* [NodeJS](https://nodejs.org/)
* [Yarn](https://yarnpkg.com/)
* [Webpack StimulusJS](https://stimulusjs.org/)
* [Postgresql](https://www.postgresql.org/)
* HTML5 + CSS3
* no jQuery
* [Server CAS](https://rubycas.github.io/) - autenticazione SingleSignOn
* [Openssl](https://www.openssl.org/) -

\* In alternativa al server CAS e' necessario sviluppare altri sistemi di autenticazione come ldap

### Requisiti tecnici per ambiente server
* Sistema operativo: Linux
* Gestore pacchetto ruby: RVM
* Linguaggio di programmazione: Ruby 3.0
* Framework: Rais 7.0
* Webpacker: StimulusJS
* Database: PostgreSQL >= 14
* NodeJS: JavaScript runtime >= v13.10
* Package Manager: Yarn >= 1.22
* Deploy applicazione: Accesso ssh per deploy applicazione via Capistrano
* Webserver: Nginx + Puma
* Autenticazione utenti: CAS Server

### 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;
* Internet Explorer 11 non supportato;
* 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.0.2, consigliato [RVM](https://rvm.io/).

## Installazione applicazione

### In sviluppo

1. Clonare il progetto in sviluppo

    ```
      git clone https://github.com/isprambiente/domando.git
    ```

2. Da una shell posizionarsi sulla root del progetto ed eseguire

    ```
      gem install bundle
      bundle install
      yarn 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/domando.git
    ```

2. Configurare il DNS o modificare il proprio file hosts per risolvere il nome cas-mock-server sull'indirizzo del server docker.

   Nel seguente esempio il docker viene eseguito localmente e viene modificato il file `/etc/hosts` del computer locale.

   ```
    127.0.0.1       localhost cas-mock-server
   ```
   la modifica è necessaria per raggiungere con un nome condiviso il server CAS

3. Eseguire la build del docker tramite compose

   ```
   sudo docker-compose up --build -d
   ```

4. Per accedere utilizzare le seguenti credenziali:
  * user   - password   # per utente standard
  * editor - password   # per utente editor
  * admin  - password   # per utente admin

### Partecipa!
Puoi collaborare allo sviluppo dell'applicazione e della documentazione tramite [github](https://github.com/isprambiente/domando).

Tramite [Github discussions](https://github.com/isprambiente/domando/discussions) è possibile richiedere e offrire aiuto.

Se riscontrate errori e bug potete segnalarli nella paggina delle [Issues](https://github.com/isprambiente/domando/issues)