Categorías
Desarrollo Ruby on Rails

Aventuras sobre rieles – Parte 2

En la parte 1 (Aventuras sobre rieles – Parte 1) preparamos el sistema para trabajar con ruby y con rails, y además creamos el proyecto blog. Esto nos creo la carpeta del proyecto y dentro muchísimos archivos, carpetas y subcarpetas. El objetivo de este artículo es entender que es lo que tenemos como base antes de comenzar a trabajar.

/app

Contiene el código principal de la aplicación: controladores, modelos, vistas, helpers, mailers, canales, jobs y assets. La mayor parte del desarrollo se centra en esta carpeta.

/bin

Contiene el script rails que inicia la aplicación. Además puede contener otros scripts para setup, deploy y ejecución de la aplicación.

/config

Archivos de configuración para rutas de la aplicación, bases de datos, etc.

/db

Contiene archivos de esquema y migraciones para la base de datos.

/lib

Contiene módulos para extender la funcionalidad de la aplicación.

/log

Archivos de registro de la aplicación.

/node_modules

Módulos de nodejs.

/public

Es la única carpeta expuesta de la aplicación. Contiene archivos estáticos y assets compilados.

/storage

Archivos de Active Storage para servicios de almacenamiento en la nube.

/test

Unidades de testeo.

/tmp

Archivos temporales como cache o pid.

/vendor

Un lugar para código de terceros.

/

En la raíz del proyecto hay varios archivos:

  • .browserslistrc: se utiliza para indicar los browser soportados por la aplicación.
  • .gitignore: indica los archivos o carpetas que quedarán fuera del control de versiones, típicamente porque son archivos temporales o generados por la aplicación.
  • .ruby-gemset: si utlizamos rvm nos sirve para indicar el gemset utilizado en el proyecto
  • .ruby-version: si utilizamos rvm nos sirve para indicar la versión de ruby utilizada en el proyecto
  • babel.config.js: Babel es un proyecto que permite utilizar las nuevas funcionalidades de javascript hoy mismo, a la vez que convierte el código en su contrapartida compatible con todos los navegadores. Este es el archivo de configuración de Babel.
  • config.ru: Archivo de configuración para Rack.
  • Gemfile / Gemfile.lock: Indica las dependencias requeridas por la aplicación para funcionar. Estos archivos son utilizados por Bundler.
  • package.json: Indica las dependencias de npm que son requeridas por la aplicación. Es utilizado por Yarn.
  • postcss.config.js: Archivo de configuración de webpack.
  • Rakefile: Este archivo localiza y carga tareas que pueden ser ejecutadas desde la línea de comandos. Las definiciones de esas tareas se encuentran en componentes de Rails. Las tareas propias se agregan vía archivos en /lib/tasks.
  • README.md: Documentación de la aplicación.
  • yarn.lock: Archivo generado por yarn que asegura que al desplegar la aplicación se instalarán las mismas versiones de todos los módulos de terceros.

Y esto concluye la descripción del contenido del proyecto. En el próximo artículo comenzaremos a modificarlo… aún no salimos de la estación!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *