-
Notifications
You must be signed in to change notification settings - Fork 3
Home
We are your assistant in the clinic.
El proceso de desarrollo de una aplicación es en cierta medida algo complicado, mas cuando no usamos el razonamiento lógico y el conocimiento de una manera que vayan de la mano, y si lo mencionado anteriormente lo unimos con la experiencia en el area, podremos desarrollar software de una calidad digno de exportación.
A continuación detallaremos el proceso del desarrollo del software Medical Assistant en modo de bitácora técnica, tomando en cuenta que usted ya sabe programar en PHP de manera básica.
Si en dado momento como desarrolladores consideramos que algún tema es demasiado complejo como para digerirse por una persona con conocimientos básicos en programación en PHP, entonces ahondaremos mas a detalle en el tema a modo que quede lo mas claro posible.
Bueno, basta ya de tanta habladuría y comencemos a codear.
En nuestro caso estas son las herramientas que utilizaremos para el desarrollo del sistema:
| # | Herramienta | Descripción corta | URL |
|---|---|---|---|
| 1 | PHP ^7.1.2 | Lenguaje de programación | http://php.net |
| 2 | Git | Control de versiones | https://git-scm.com |
| 3 | GitHub | Hosting para los repositorios remotos para el control de versiones Git | https://github.com |
| 4 | HTML5/JS/CSS3 | Lenguajes del front-end | https://www.w3schools.com |
| 5 | MySQL ^5.7 | Sistema Gestor de base de datos | https://www.db4free.net |
| 6 | Bootstrap 3.7 | Framework front-end | https://getbootstrap.com |
| 7 | AdminLTE 2.4 | Plantilla aplicable al front-end | https://adminlte.io |
| 8 | Font Awesome 4.7 | Librería de iconos para el front-end | https://fontawesome.com/v4.7.0 |
| 9 | Select2 | Librería para darle superpoderes a los | https://select2.org |
| 10 | SweetAlert2 | Librería con super poderes para los alert de JS | https://sweetalert2.github.io |
| 11 | toastr | Librería para poder utilizar notificaciones toast en las app's web | https://codeseven.github.io/toastr |
| 12 | Laravel 5.6 | Framework para el desarollo de aplicaciones en PHP basado en patrones de desarrollo. | https://laravel.com/docs/5.6 |
| 13 | Composer | Gestor de paquetes a nivel de aplicación para el lenguaje de programación PHP que proporciona un formato estándar para gestionar las dependencias del software PHP y las bibliotecas requeridas. | https://getcomposer.org |
| 14 | FullCalendar | FullCalendar es ideal para mostrar eventos, pero no es una solución completa para la administración de contenido de eventos. Además de arrastrar un evento a una hora / día diferente, no puede cambiar el nombre de un evento u otros datos asociados. Depende de usted agregar esta funcionalidad a través de la personalizacion de FullCalendar. | https://fullcalendar.io |
| 15 | Editor de codigo | Programa para editar archivos de texto plano con coloreado de sintaxis. En mi caso usare VSCode 1.27 | https://code.visualstudio.com |
Después de dejar en claro cuales son las herramientas que utilizaremos para llevar a cabo nuestro cometido, vamos al paso en el que por medio de composer creamos el proyecto con el nombre de medical-assistant.
composer create-project laravel/laravel medical-assistant 5.6.*Luego de ejecutar dicho comando, composer comenzara a hacer su trabajo creando una carpeta con el nombre que le hemos dado al proyecto, en la cual descargara toda la estructura de carpetas y archivos (scaffolding) basada en el framework Laravel, específicamente en su version 5.6.
Al terminar el proceso de scaffolding, composer por medio de las instrucciones que tiene en la sección scripts del archivo composer.json, ejecutara ciertos comandos entre los cuales esta el de generar una key que es una cadena de caracteres la cual sirve como salt en todo el proceso de encriptación, almacenándolo en el archivo de configuración .env
NOTA: Si estas trabajando en equipo y no has creado el proyecto tu, sino alguien mas del equipo, y tu solo lo clonaras entonces después de clonar el repositorio, debes ejecutar el siguiente comando, el cual instala todas las dependencias que requiera el proyecto para su correcto funcionamiento:
composer installDespués de instalar todas las dependencias necesarias para el funcionamiento de la aplicación debemos ejecutar el siguiente comando, el cual crea una copia del archivo .env.example.
El anterior archivo tiene una estructura como la siguiente:
APP_NAME="Medical Assistant"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=<tu-db>
DB_USERNAME=<tu-usuario>
DB_PASSWORD=<tu-pass>
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"Si somos observadores en el anterior archivo tenemos una clave "APP_KEY=" que es la que mencionamos anteriormente que se usa para todo lo relacionado con la criptografía en la app, en lo cual para que pueda tener su valor debemos ejecutar el siguiente comando:
php artisan key:generateEl cual generara el valor para dicha clave quedando de la siguiente forma:
APP_KEY=base64:XPZEP8otH2UyaqZmzdbuTSgLxWs6jBIX5SLtuvC+Aoc=Una vez realizados todos los anteriores pasos, ya sea que creemos de cero la app o que la clonemos de algún repositorio, para servirla en el navegador hacemos lo siguiente:
php artisan serve
Laravel development server started: <http://127.0.0.1:8000>Ahora podemos abrir el navegador de nuestra preferencia y teclear la dirección que nos sugiere el servidor de desarrollo de laravel.
Llegados a este punto y si logramos ver en el navegar una pagina en donde dice Laravel con un fondo blanco entonces podemos pasar al siguiente nivel.
“La brecha entre la teoría y la práctica no es tan larga en teoría como lo es en práctica” @intelguasoft