Skip to content
This repository

Aplicación de prueba para aprender a programar con Symfony2

branch: 2.4
README.md

Aplicación de prueba Cupon para Symfony 2.4.x

Cupon es una aplicación de prueba desarrollada para aprender a programar con Symfony 2.4. Se trata de un clon simplificado de Groupon, de ahí el nombre. Esta aplicación es la base del libro Desarrollo web ágil con Symfony2 publicado por Javier Eguiluz.

Si descubres algún error, por favor utiliza la página de issues de Github para avisarnos.

Pantallazos (pincha cada imagen para ampliarla)

Frontend

Portada Página de detalle de la oferta Página de ofertas recientes en una ciudad Formulario de login

Extranet

Listado de ofertas Formulario para modificar oferta

Backend

Listing Página de detalle de la oferta

Instalación

En el libro Desarrollo web ágil con Symfony2 se expica detalladamente cómo instalar bien Symfony2 y la aplicación Cupon. El siguiente listado resume todos los pasos necesarios:

  1. mkdir cupon
  2. git clone git://github.com/javiereguiluz/Cupon.git cupon
  3. cd cupon
  4. curl -s https://getcomposer.org/installer | php (esta es la forma recomendada de instalar Composer. Si tienes problemas, utiliza alguna de las alternativas explicadas en la documentación de Composer)
  5. php composer.phar install
  6. chmod -R 777 app/cache app/logs (lee la sección Setting up Permissions para hacer esto de forma más elegante)
  7. Configura bien tu servidor web

Uso

Para poder probar bien la aplicación:

  1. Crea una nueva base de datos de prueba y configura sus datos de acceso en el archivo de configuración app/config/parameters.yml
  2. Crea el esquema de la base de datos con el comando: php app/console doctrine:schema:create
  3. Carga los datos de prueba con los siguientes comandos:
    • php app/console doctrine:fixtures:load para cargar todos los datos de prueba de la aplicación terminada (incluye todas las propiedades relacionadas con la seguridad). Si se muestra una excepción de tipo Truncating table with foreign keys fails , ejecuta el siguiente comando: php app/console doctrine:fixtures:load --append
    • php app/console doctrine:fixtures:load --fixtures=app/Resources para cargar una versión simplificada de los datos de prueba. Utiliza estos datos si estás creando la aplicación a mano y todavía no has llegado al capítulo relacionado con la seguridad.
  4. Genera los web assets con Assetic: php app/console assetic:dump --env=prod --no-debug
  5. Asegúrate de que el directorio web/uploads/images/ tiene permisos de escritura.

Si tienes algún problema, limpia la cache:

  • Entorno de desarrollo: php app/console cache:clear
  • Entorno de producción: php app/console cache:clear --env=prod

Test unitarios y funcionales

La aplicación incluye varios test unitarios y funcionales de ejemplo. Para ejecutarlos debes tener la herramienta PHPUnit instalada. Después, ejecuta el siguiente comando en el directorio raíz del proyecto:

$ phpunit -c app

Frontend

  • URL:
    • Entorno de desarrollo: http://cupon/app_dev.php
    • Entorno de producción: http://cupon/app.php
  • Credenciales de usuarios:
    • Nombre de usuario: usuarioN@localhost siendo N un número entre 1 y 500
    • Contraseña: usuarioN siendo N el mismo valor que el del nombre de usuario

Extranet

  • URL:
    • Entorno de desarrollo: http://cupon/app_dev.php/extranet
    • Entorno de producción: http://cupon/app.php/extranet
  • Credenciales de usuarios:
    • Nombre de usuario: tiendaN siendo N un número entre 1 y 80 aproximadamente (el límite superior es aleatorio)
    • Contraseña: la misma que el nombre de usuario

Backend

  • URL:
    • Entorno de desarrollo: http://cupon/app_dev.php/backend
    • Entorno de producción: http://cupon/app.php/backend
  • Credenciales de usuarios:
    • Nombre de usuario: admin
    • Contraseña: 1234
Something went wrong with that request. Please try again.