Estructura del proyecto
La estructura del proyecto sigue el patrón de diseño Modelo Vista Controlador (MVC), que separa la lógica de negocio, la presentación y la gestión de la información en tres componentes distintos.
Carpetas principales
El proyecto está organizado de la siguiente manera:
-
app/
: Contiene la lógica de la aplicación, incluidos los controladores, modelos y vistas.
-
config/
: Contiene archivos de configuración para la aplicación, como la configuración de la base de datos y las rutas.
-
database/
: Contiene las migraciones de la aplicación y los esquemas de base de datos.
-
lang/
: Contiene los archivos de idiomas, donde se pueden encontrar traducciones.
-
lib/
: Contiene los archivos de bibliotecas de la aplicación.
-
public/
: Contiene los archivos públicos accesibles desde el navegador, como imágenes, archivos CSS y archivos JavaScript.
-
resources/
: Contiene recursos de la aplicación, como archivos CSS, archivos JavaScript, vistas y componentes.
-
routes/
: Contiene los archivos de definición de rutas de la aplicación.
-
storage/
: Contiene archivos generados por la aplicación, como archivos de sesión, archivos de caché y archivos de registro.
-
tests/
: Contiene las pruebas unitarias de la aplicación.
Archivos principales
Los archivos principales del proyecto son:
-
index.php: El punto de entrada de la aplicación, que carga el autoloader y llama al kernel de la aplicación.
-
.env: Archivo de entorno que contiene variables de configuración como la conexión a la base de datos y la configuración de la aplicación.
-
composer.json: Archivo de configuración de Composer que especifica las dependencias del proyecto.
-
webpack.mix.js: Archivo de configuración de Laravel Mix para compilar recursos front-end.
-
package.json: Archivo de configuración de NPM que especifica las dependencias del proyecto.
-
console: Archivo de configuración de la consola de la aplicación.
Directorio principal -
app/
El directorio
app/
es uno de los directorios más importantes en la estructura de un proyecto JMFramework. Contiene la mayoría de la lógica de la aplicación, incluidos los controladores, modelos y vistas. A continuación se describe la estructura básica de este directorio:
-
Console/: Contiene comandos de Console, que se utilizan para realizar tareas de línea de comandos en la aplicación.
-
Commands/: Contiene las clases de comandos de Console, que pueden ser ejecutados desde la línea de comandos para realizar tareas específicas.
-
Http/: Contiene los controladores y middlewares de la aplicación.
-
Controllers/: Contiene los controladores de la aplicación.
-
Middleware/: Contiene los middlewares de la aplicación.
-
Models/: Contiene los modelos de la aplicación.
Configuración -
config/
El directorio
config/
contiene la configuración de la aplicación. A continuación se describe la configuración de la aplicación:
-
app.php: Archivo de configuración de la aplicación.
-
cache.php: Archivo de configuración de la cache.
-
cors.php: Archivo de configuración de CORS.
-
database.php: Archivo de configuración de la base de datos.
-
file.php: Archivo de configuración de archivos.
-
hash.php: Archivo de configuración de la generación de hashes.
-
middleware.php: Archivo de configuración de los middlewares.
-
session.php: Archivo de configuración de la sesión.
-
storage.php: Archivo de configuración de los archivos de almacenamiento.
-
token.php: Archivo de configuración de los tokens.
-
view.php: Archivo de configuración de la vista.
Migraciones y esquemas de base de datos -
database/
El directorio
database/
contiene las migraciones y esquemas de base de datos. Para saber más sobre la migración y el esquema de base de datos, dirijase a la documentación dando click en el enlace
Migraciones y esquemas de base de datos.
Lenguaje -
lang/
El directorio
lang/
contiene los archivos de idiomas. A continuación se describe la configuración de idiomas:
-
en/: Contiene los archivos de idioma en inglés.
-
es/: Contiene los archivos de idioma en Español.
Para saber más sobre la configuración de idiomas, dirijase a la documentación dando click en el enlace
Configuración de Idiomas.
Publico -
public/
El directorio
public/
contiene los archivos publicos. A continuación se describe la configuración de archivos publicos:
-
css/: Contiene los archivos CSS.
-
js/: Contiene los archivos JavaScript.
-
index.php: El punto de entrada de la aplicación.
Recursos -
resources/
El directorio
resources/
contiene los archivos de recursos. A continuación se describe la configuración de archivos de recursos:
-
css/: Contiene los archivos CSS de la aplicación.
-
js/: Contiene los archivos JavaScript de la aplicación.
-
views/: Contiene los archivos de vista de la aplicación.
Rutas -
routes/
El directorio
routes/
contiene los archivos de rutas. En estos archivos se definen las rutas de la aplicación. A continuación se describe la configuración de rutas:
-
api.php: Archivo de rutas de la aplicación API.
-
web.php: Archivo de rutas de la aplicación web.
La ruta
api.php
estan desactivadas por defecto. Para activarlas, dirijase a la documentación dando click en el enlace
Rutas API.
Almacenamiento -
storage/
El directorio
storage/
contiene los archivos de almacenamiento. Aquí se guardan los archivos generados por la aplicación. A continuación se describe la configuración de archivos de almacenamiento:
-
framework/:
-
.cache/: Contiene los archivos de cache.
-
sessions/: Contiene los archivos de sesiones.
-
logs/: Contiene los archivos de registro.
-
public/: Contiene los archivos del almacenamiento que son publicos.
Pruebas -
tests/
El directorio
tests/
contiene las pruebas unitarias de la aplicación. Para saber más sobre las pruebas unitarias, dirijase a la documentación dando click en el enlace
Pruebas.
-
Feature/: Contiene las pruebas de la aplicación.
-
Unit/: Contiene las pruebas unitarias de la aplicación.