1. Crea un repository privato (nell'esempio aprile5), senza file readme 2. Collegati con VS Code a singularity 3. Clona il repository e aprilo, anche nel terminale 4. Esci dalla cartella del progetto e vai nella tua home Aggiorna bundler:
gem update bundler
5. crea la nuova applicazione:
rails _7.0.8_ new nome_della_tua_applicazione --css=bootstrap --javascript=esbuild --database=postgresql --force
Ricordati di cambiare il nome facendolo corrispondere a quello della tua cartella. Nota che rails si occuperà di installare per te anche Bootstrap.
6. Ci vorrà un po' di tempo... al termine torna nella cartella dell'applicazione:
Avvertenza
Per semplificare la clonazione dell'applicazione non fare commit prima di aver eseguito le istruzioni .gitignore che trovi in fondo alla pagina
Preparazione del database
Dato che ogni utente ha un unico database, per ogni applicazione creeremo uno schema diverso, all'interno del tuo database:
Schema
Ricordi? Gli schema sono come cartelle all'interno del tuo database.
Ci servirà uno schema anche per i test: Esci dalla console di psql con il comando
\q
Modifica il file di configurazione del database, in modo che l'applicazione si colleghi agli schema appena creati:
Setup dell'applicazione
Foreman si occupa di avviare il web server di sviluppo, e di compilare i file javascript e css necessari tenendo d'occhio (watch) le modifiche fatte al sorgente dal programmatore. Andiamo nel suo script di configurazione e cambiamo la porta:
Verifica che il file package.json contenga un oggetto scripts simile al seguente... in caso contrario aggiungi le righe mancanti:
Per semplificare la clonazione di un'applicazione da parte di un tuo compagno, prima ancora di fare dei commit aggiungi questi due file alla lista di quelli che git dovrà ignorare:
/config/database.yml
/Procfile.dev
In questo modo ognuno potrà mantenere la sua propria copia di questi file di configurazione.
Per praticità togli da .gitignore la master.key, anche se questa non è assolutamente una buona prassi.
Crea una copia dei due file per la distribuzione, denominandoli:
/config/database.yml.dist
/Procfile.dev.dist
Ricordati di cancellare eventuali password dalla copia che sarà distribuita.