El proyecto de desarrollo FULLSTACK (frontend y backend) de esta aplicación (motocampeonas) se está desarrollando con el framework de Symfony de tipo Modelo-Vista-Controlador (MVC) y en este repositorio se encuentran los ficheros editables para que funcione su ejecución en local y en la nube. El proyecto forma parte del curso SYMFONY (FRAMEWORK PARA PHP) impartido en el Centro de Referencia Nacional de Desarrollo Informático y Comunicaciones (CFTIC) a través de la empresa CAS Training.
- Desarrollar aplicaciones web utilizando el framework de PHP Symfony.
- Explotar las funcionalidades del framwork de desarrollo rápido (despliegue en local y en la nube).
- Crear un proyecto web de principio a fin utilizando Symfony.
La aplicación MotoCampeones estará especializada en rankings, registros y en predicciones de las marcas de motos en las principales competiciones de motociclismo en velocidad y motocross.
Las herramientas y tecnologías que se han usado son las siguientes:
- Para ejecutar código PHP en local tenemos XAMPP (servidor Apache + MariaDB + PHP + Perl).
- El IDE de desarrollo es Visual Studio Code y como mínimo se instalan los siguientes plugins:
- La instalación y configuración de Symfony a través de Composer.
- La instalación y configuración de la base de datos a través de Doctrine.
- Los estilos CSS y el refuerzo del frontend con JavaScript, Bootstrap y jQuery. A través de la tecnología de Red de Distribución de Contenidos (CDN).
- Control de cambios en local con Git y gestión del proyecto con sus backups online en los repositorios de Github y Gitlab.
- Despliegue en la nube de tipo PaaS a través de Platform.sh.
- Desarrollo de APIs .NET para su despliegue en la nube de Microsoft, Azure y su consumo en formato .JSON.
-
Instalaciones:
-
Crear un proyecto de Symfony y añadir las siguientes librerías como mínimo (repositorio controlado en local junto con Github y Gitlab):
$ composer create-project symfony/skeleton:"6.1.*" nombre_del_proyecto
$ cd nombre_del_proyecto
$ composer require webapp
$ composer require symfony/orm-pack
$ composer require --dev symfony/maker-bundle
En este caso no hay configuración de un Docker:
- Comprobación del proyecto creado
$ php bin/console about
- Ejecución del proyecto en local (por ejemplo en el puerto 8000)
$ php -S localhost:8000 -t public/
En el navegador:
http://localhost:8000/
-
Abrir una cuenta en Platform.sh y crear un proyecto nuevo en la región deseada (por ejemplo en la nube de Amazon -> Europe - Sweden eu-5 - AWS)
-
Clonarlo en local
$ git clone [email protected] nombre_del_proyecto_creado
- Trasladar los ficheros creados en el paso 2. del punto anterior (5.) a la carpeta del repositorio clonado en el paso anterior
También hay que añadir 3 ficheros de configuración para el despliegue:
- .platform.app.yaml
- Documentación: https://docs.platform.sh/create-apps.html
- ~/.platform/routes.yaml
- Documentación: https://docs.platform.sh/define-routes.html
- ~/.platform/services.yaml
- Documentación: https://docs.platform.sh/add-services.html
$ php bin/console make:controller nombre_del_controladorController
- Ruta de la vista: ~/templates/nombre_de_la_vista.html.twig
- Ruta del controlador: ~/src/Controller/nombre_del_controladorController.php
- Despliegue a la nube
$ git add .
$ git commit -m "descripción del commit"
$ git push nombre_repositorio (lo más probable que se haya creado con la denominación de 'origin')
- ~/.platform/*
- ~/public/*
- ~/src/Controller/*
- ~/src/Entity/*
- ~/src/Repository/*
- ~/templates/*
- ~/translations/*
- ~/.env
- ~/.platform.app.yaml
- Documentación:
- Demo en Github
- Documentación:
- GitHub:
- Documentación:
- Documentación:
- GitHub:
- Documentación:
- Documentación:
- GitHub:
- Documentación:
- GitHub: