Skip to content

Latest commit

 

History

History
157 lines (105 loc) · 4.82 KB

readme.md

File metadata and controls

157 lines (105 loc) · 4.82 KB

Sistema Administrativo Grupo Dicotech (SAGD)

Para el setup inicial es recomendable, o mejor dicho obligatorio tener una máquina virtual usando vagrant.

Información y pasos para instalarlo puedes encontrarlo aquí: Homestead

Homestead

Homestead ya viene con muchas cosas instaladas como redis y nodejs. Pero hay que instalar PM2 para ejecutar el server de Node.js que se encarga de los sockets.

Para esto hay que leer esta entrada en el wiki.

Resulta que PM2 no inicia los servicios cuando inicia la máquina. Así que cada vez que inicias tu vm, si no la suspendiste y le diste halt, tendrás que iniciarlo manualmente con pm2 start socket.js desde la carpeta de sagd.

Creo que no viene con supervisor. Asi que a darle. Info aquí.

Supervisor es para auto-iniciar los queues de la aplicación. Es como pm2 pero en lugar de servers de node, este corre cualquier shell script o comando. En este caso es para inicar el queue de laravel. El wiki tiene más información de esto.

sagd/

En la carpeta de sagd o de tu código, hay cosas que correr antes de empezar a usar la aplicación.

En tu termial tienes que correr estos comandos en el root de la aplicación.

composer install
npm install

Después nos cambiamos a la carpeta de app-angular y corremos los siguientes:

sudo npm install -g grunt
npm install
bower install
grunt dev

.env file

Este archivo no esta versionado y solo será visible aquí. Hay que copiar y pegarlo localmente en tu archivo .env. Si no existe, crealo.

Cualquier cambio futuro a las variables de env se tienen que comentar con el equipo y anotar aqui abajo.

APP_ENV=local
APP_DEBUG=true
APP_KEY=anK2OwTLR0C4w2SgePIj7qTjaPMKx8dt
BROADCAST_DRIVER=redis

DB_HOST=localhost
DB_DATABASE=sagd_local
DB_USERNAME=sagd_local
DB_PASSWORD=zegucomlocal

TEST_DB_HOST=localhost
TEST_DB_DATABASE=sagd_test
TEST_DB_USERNAME=sagd_test
TEST_DB_PASSWORD=zegucomtest

DB_HOST_LEGACY=server.grupodicotech.com.mx
DB_DATABASE_LEGACY=sazcentralizado
DB_USERNAME_LEGACY=development
DB_PASSWORD_LEGACY=dicodev2015

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=log
MAIL_HOST=www.zegucom.com.mx
MAIL_PORT=995
MAIL_USERNAME=mgomez@zegucom.com.mx
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
FRONTEND_URL="http://sagd.app/password/reset/"
CDN_URL="http://cdn.sagd.app/"

ICECAT_USERNAME=jlopez
ICECAT_PASSWORD=zegucom123

STUB_EMAIL_DOMAIN=clientes.grupodicotech.com.mx

RESOURCE_PAGINATION=15

TOKEN_TTL=20160


Set-up de la base de datos

Hay un archivo create_schemas_users_permissions.sql. Que contiene lo siguiente:

CREATE SCHEMA `sagd_local` DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci;
CREATE USER 'sagd_local'@'localhost' IDENTIFIED BY 'zegucomlocal';
GRANT ALL ON sagd_local.* TO 'sagd_local'@'localhost';

CREATE SCHEMA `sagd_test` DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci;
CREATE USER 'sagd_test'@'localhost' IDENTIFIED BY 'zegucomtest';
GRANT ALL ON sagd_test.* TO 'sagd_test'@'localhost';

CREATE SCHEMA `sagd_prod` DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci;
CREATE USER 'sagd_prod'@'localhost' IDENTIFIED BY 'zegucomprod';
GRANT ALL ON sagd_prod.* TO 'sagd_prod'@'localhost';

Esto hay que ejecutarlo en la base de datos de nuestra máquina virtual de Homestead.

Después de esto ya podemos iniciar la base de datos con las migraciones y datos iniciales.

Para eso se ejecutan los siguientes comandos:

php artisan migrate
php artisan db:seed

Para evitar seedear los módulos completos de Clientes se puede generar un dump y colocarlo en la carpeta raíz del proyecto. Nombrar este archivo clientes_module_seed.sql.

Si ya seedeaste los clientes crea el dump de las tablas de:

  • clientes
  • clientes_autorizaciones
  • clientes_comentarios
  • domicilios
  • domicilios_clientes
  • paginas_web_distribuidores
  • tabuladores
  • telefonos
  • users

Abre el archivo de dump y para los INSERT de domicilios, telefonos y users cambiar los INSERT INTO a INSERT IGNORE INTO. De igualmanera se puede configurar el dump para que use INSERT IGNORE INTO por default.

Igualmente para evitar seedear los módulos de Icecat se puede hacer un dump de las tablas:

  • icecat_*

Y colocarlo en la raíz del proyecto y nombrarlo icecat_module_seed.sql.

La siguiente vez que realices el seed, tomará este archivo y lo importará en lugar de seedear normalmente. Esto agiliza el seeding.

Para testing y poder correr las pruebas son los siguientes comandos:

php artisan migrate --env=testing
php artisan db:seed --env=testing