Cupon es una aplicación de prueba desarrollada para aprender a programar con Symfony 2.3. 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.
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:
mkdir cupon
git clone git://github.com/javiereguiluz/Cupon.git cupon
cd cupon
curl -s https://getcomposer.org/installer | php
(esta es la forma recomendada de instalarComposer
. Si tienes problemas, utiliza alguna de las alternativas explicadas en la documentación de Composer)php composer.phar install
chmod -R 777 app/cache app/logs
(lee la sección Setting up Permissions para hacer esto de forma más elegante)- Configura bien tu servidor web
Para poder probar bien la aplicación:
- Crea una nueva base de datos de prueba y configura sus datos de acceso en el
archivo de configuración
app/config/parameters.yml
- Crea el esquema de la base de datos con el comando:
php app/console doctrine:schema:create
- 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.
- Genera los web assets con Assetic:
php app/console assetic:dump --env=prod --no-debug
- 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
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
- URL:
- Entorno de desarrollo:
http://cupon/app_dev.php
- Entorno de producción:
http://cupon/app.php
- Entorno de desarrollo:
- Credenciales de usuarios:
- Nombre de usuario:
usuarioN@localhost
siendoN
un número entre1
y500
- Contraseña:
usuarioN
siendoN
el mismo valor que el del nombre de usuario
- Nombre de usuario:
- URL:
- Entorno de desarrollo:
http://cupon/app_dev.php/extranet
- Entorno de producción:
http://cupon/app.php/extranet
- Entorno de desarrollo:
- Credenciales de usuarios:
- Nombre de usuario:
tiendaN
siendoN
un número entre1
y80
aproximadamente (el límite superior es aleatorio) - Contraseña: la misma que el nombre de usuario
- Nombre de usuario:
- URL:
- Entorno de desarrollo:
http://cupon/app_dev.php/backend
- Entorno de producción:
http://cupon/app.php/backend
- Entorno de desarrollo:
- Credenciales de usuarios:
- Nombre de usuario:
admin
- Contraseña:
1234
- Nombre de usuario: