Cómo contribuir - IsaacLf/itescam-calendar GitHub Wiki

Contribuir a Calendario ITESCAM

Prerrequisitos

Necesitarás tener las siguientes herramientas para descargar e instalar el proyecto localmente:

  • Git
  • NodeJS, x64, version >= 10.14.1,< 11.0.0
  • Yarn, puede seguir la guía de instalación o instalarlo directamente con npm con el comando npm install -g yarn
  • PHP y MySQL, el link hace referencia a XAMPP porque este ya contiene empaquetado ambos (PHP y MySQL + Apache), pero para PHP la version requerida es >= 5.6.4, < 7.3
  • Composer, version >= 1.6.5

💬Recomendación: Se recomienda desarrollar la app en VSCode por la integración directa con GitHub y Typescript.

Construye localmente y prueba

Obteniendo el código fuente

Primero bifurca el repositorio para que de esa manera puedas crear pull requests. Luego clona el repositorio localmente:

git clone https://github.com/<<<your-github-account>>>/itescam-calendar.git

Ocasionalmente, querrá combinar los cambios en el repositorio ascendente (el código oficial de repo) con su copia (fork).

cd itescam-calendar
git checkout master
git pull https://github.com/IsaacLf/itescam-calendar.git master

Administre los conflictos de combinación (merge), confírmelos (commit) y luego confírmelos (commit) en su copia (fork).

Preparar el entorno

Instalar dependencias de PHP

Antes de poder iniciar con el desarrollo local de la página es necesario instalar las dependencias de PHP, contenidas en el archivo composer.json

Para eso entre en la carpeta y ejecute el comando composer install

cd itescam-calendar
composer install

Configurar la base de datos

Cuando se finaliza el proceso de composer install, debería automáticamente generarse el archivo .env mediante un comando que copia el .env.example a un nuevo archivo .env (que no se versiona por default en git).

🔴OJO: Si el comando de arriba no se logra finalizar correctamente hay que seguir uno que otro paso extra, favor de abrir un problema (issue) comentando los detalles del problema, para que de esa manera se dé la solución

Si todo fue bien hasta este punto, entonces usted tiene que configurar el archivo .env para su conexión a la base de datos.

Las configuraciones necesarias son:

  • DB_DATABASE, donde usted pondrá la nueva BD que debe crear en MySQL (phpMyAdmin)
  • DB_USERNAME, el usuario por default con el que accede a la BD
  • DB_PASSWORD, la contraseña para acceder a la BD.

y la variable APP_KEY se debe generar automáticamente por el comando automático (justo después de composer install).

Para probar si la configuración anterior tuvo éxito hay que ejecutar el comando

php artisan migrate

Esto intentará crear las tablas necesarias para el funcionamiento del sistema, y si quiere incluir unos campos de prueba, ejecute este comando:

php artisan db:seed

📝Nota: los comandos anterior fueron sacados de la documentación oficial de Laravel seeding

Instalar dependencias de Node

Este paso es algo sencillo, debe entrar al directorio del proyecto y ejecutar el comando yarn

cd itescam-calendar
yarn

Compilar recursos (compiling assets)

Vaya a la carpeta itescam-calendar e inicie el constructor incremental de gulp

cd itescam-calendar
yarn watch

👁Nota: Para poder ver reflejados los cambios en los assets es necesario iniciar el constructor incremental de gulp, por ejemplo para cualquier cambio en la carpeta resources/assets/, ya sea para hacerle cambios a archivos .vue, .ts, o .scss, ya que estos requieren ser compilados y empaquetados para terminar en la carpeta public, dependiendo de la configuración especificada en el archivo gulpfile.js

Corriendo el servidor

Hay dos maneras posibles en las cuales se puede probar la página:

  • Mediante el comando php artisan serve
  • Poniendo el proyecto en el directorio htdocs de XAMPP