Strumenti usati per lo sviluppo
*******************************

Per sviluppare Sophon sono usati i seguenti strumenti:

- `IntelliJ IDEA Ultimate`_, un IDE multilinguaggio, con i seguenti plugin:
   - Python
   - Poetry
   - ReStructuredText
   - Node.JS
   - JavaScript and TypeScript
   - CSS
   - Git
   - Docker

- `Git`_, uno strumento di controllo versione;
   - `GitHub`_, un host per repository `Git`_;
      - `GitHub Issues`_, un issue tracker integrato in `GitHub`_;
      - `GitHub Actions`_, un sistema di `Continuous Integration`_ e `Continuous Deployment`_ integrato in `GitHub`_;
      - `GitHub Containers`_, un registro di container Docker integrato in `GitHub`_;
      - `CodeQL`_, un tool di analisi statica integrato in `GitHub`_;
      - `Dependabot`_, un tool di analisi delle dipendenze integrato in `GitHub`_;

- `Sphinx`_, uno strumento per la creazione di documentazione.

.. _IntelliJ IDEA Ultimate: https://www.jetbrains.com/idea/
.. _Git: https://git-scm.com/
.. _GitHub: https://github.com/
.. _GitHub Issues: https://github.com/features/issues/
.. _GitHub Actions: https://github.com/features/actions
.. _Continuous Integration: https://it.wikipedia.org/wiki/Integrazione_continua
.. _Continuous Deployment: https://en.wikipedia.org/wiki/Continuous_deployment
.. _CodeQL: https://codeql.github.com/
.. _GitHub Containers: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry
.. _Sphinx: https://www.sphinx-doc.org/
.. _Dependabot: https://dependabot.com/

.. seealso::

   Nel capitolo successivo sono descritte le tecnologie utilizzate all'interno di Sophon.