- framework: Laravel 5.7.17
- php: 7.3.0
- mariadb: 10.2
- Run the application
docker-compose up -d
- Poner el servername en el fichero hosts
local.monllar.com
-
El puerto de acceso a mysql es
127.0.0.1:3306
-
We can change the ports of access in the docker-compose.yml file.
-
The php.ini configuration is in the folder conf-apache/custom_php.ini
Obs: I don't know why the containers didn't start, but with the fixes in the file Dockerfile-mysql, this problem was fixed.
Acceso al backoffice:
- Email: monllar@monllar.com
- password: monllar
- Dos grandes partes : frontal y admin
Ponemos los ficheros creados por nosotros en resources y mapeados por el fichero gulpfile
- El comun.css es el fichero css que es común tanto para el backend (admin) y la parte frontal
- El comun-admin.css es el fichero css común para la parte admin
- El comun-frontal.css es el fichero css común para la parte frontal
- Cada página de la web tendrá su propio css y js si son necesarios. Por ejemplo, la página portada tiene frontal/portada.css
- Incluiremos los archivos que están en public para nuestras páginas
Recordar después del cambio de los archivos sass o typescript ejecutar
gulp
Los ficheros source están en
resources/assets/typescript/monllar
````bash
Son mapeados por gulpefile a public/lib/monllar
public/lib/monllar
En las páginas web, usaremos los ficheros de esta dirección
# Node y npm
[Instalar node](https://nodejs.org/es/download/) y luego ejecutar
````bash
npm intall
Instalar gulp-cli
npm install --global gulp-cli
y luego ejecutar
gulp
obs: en node version >= 10 puede aparecer el error ReferenceError: internalBinding is not defined
Ejecutar
npm install natives@1.1.6
- php artisan migrate:fresh : para recrear tablas. Es útil cuando empezamos el proyecto
- Tener en cuenta las prioridades de creación de tablas
// un perfil puede pertenecer a muchos usuarios y un usuario sólo un perfil.
// creamos la tabla usuarios y perfiles. Luego creamos su relación y hacemos esto en perfiles. Así establecemos prioridades.
Schema::create('perfils', function (Blueprint $table) {
$table->increments('id');
$table->string('perfil');
$table->string('descripcion');
$table->timestamps();
});
Schema::table('usuarios', function($table){
$table->foreign('id_perfil')->references('id')->on('perfils')->onDelete('cascade');
});
//Se ejecutarán las clases con orden que están en DatabaseSeeder.php
php artisan db:seed
public function run()
{
$this->call([
PerfilesTableSeeder::class,
UsersTableSeeder::class,
]);
}
Comandos a usar para crear esquema y sembrar datos en la bbdd
composer install // si se instalaron nuevas dependencias
composer dump-autoload // pillar los archivos de migrations
php artisan migrate:fresh // eliminar todas tablas y crearlas de nuevo
php artisan db:seed // sembrar contenido en las tablas
php artisan telescope:install
php artisan migrate
php artisan telescope:publish
El dashboard de debug está en /telescope
Cambiar de nombre el fichero ".env.example" por ".env" luego ejecutar desde la terminal de Laragon
$ php artisan key:generate
$ php artisan config:cache
$ php artisan route:clear
- Instalar java y jdk
-npm version 6.4.1
-node version 10.14.2
Para este proyecto, lo he instalado de forma local el servicio de selenium-standalone
"scripts": {
"selenium-standalone": "selenium-standalone",
"test": "wdio"
}
o sea para inicializar el servicio Selenium usaremos (mirar la version del chromedriver en package.json)
// Descargar el chromedriver
npm run selenium install --drivers.chrome.version=2.43 --drivers.chrome.baseURL=https://chromedriver.storage.googleapis.com
// Iniciar el servicio selenium
npm run selenium start
//Para ejecutar los test
npm run test
Ver los resultados
npm run report
Obs:
Alternativas opcionales al servicio selenium y chromedriver de npm y setear el script del package.json
Windows
// instalar scoop https://scoop.sh/ y luego
scoop install selenium
scoop install chromedriver
scoop install allure
Mac
brew install selenium-server-standalone
brew cask install chromedriver
brew install allure
Ejecutar los tests unitarios
phpunit --testdox