This bundle provides quiz functionality as standalone symfony2 bundle. Created by 4xxi.com. All bundles by 4xxi.
- Unlimited quiz creation.
- Every quiz can have different number of questions. The question's database could have much more questions than need. For quizes questions are taken randomly.
- Every question can have any number of answers (radio-button answers) or text answer (input field).
- Question & answer can have image.
- Quiz could be limited by time (e.g. 10 minutes).
- It is possible to hide quiz from users. The administrator can manually assign users to quiz.
- Bundle is translated, see Resources/translations. Some translations on english could be missed because of rapidly development.
- Symfony2 with twig.
- Doctrine2, DoctrineExtension & DoctrineFixtures.
- FOSUserBundle (please see the installation steps here).
- Annotations for Controllers.
- jQuery & twitter bootstrap css / js or similar.
- It is recommended to use this bundle with SmirikAdminBundle which provides public assets (including twitter bootstrap & jquery) + menu + core classes.
-
Add bundle to your
deps
file:[SmirikQuizBundle] git=git://github.com/smirik/SmirikQuizBundle.git target=/bundles/Smirik/QuizBundle
-
Register the namespace in
autoload.php
(if you don't use other Smirik* bundles):$loader->registerNamespaces(array( ... 'Smirik' => __DIR__.'/../vendor/bundles', ));
-
Register bundle in your
AppKernel.php
:$bundles = array( ... new Smirik\QuizBundle\SmirikQuizBundle(), ... );
-
Add the following code to
config.yml
:fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' firewall_name: main user_class: Smirik\QuizBundle\Entity\User group: group_class: Smirik\QuizBundle\Entity\Group ... twig: debug: %kernel.debug% strict_variables: %kernel.debug% form: resources: - 'SmirikQuizBundle:Form:fields.html.twig'
-
Add routes to
routing.yml
:
SmirikQuizBundle:
resource: "@SmirikQuizBundle/Controller/"
type: annotation
prefix: /
-
Update database and load test fixtures to see admin functionality
php app/console doctrine:schema:update --force php app/console doctrine:fixtures:load --append
-
See test quiz at
http://host/admin/quiz/
-
Please check that
bootstrap.css
file is loaded. -
Enjoy!
- Bundle has its own layout
Resources/views/layout.html.twig
extendingbase.html.twig
. All templates extending this layout. All admin templates extendsResources/views/Admin/layout.html.twig
. - There are 4 controllers:
- AdminQuestionController (/admin/questions/*) for questions management,
- AdminQuizController (/admin/quiz/*) for quizes management,
- AdminUserController (/admin/quiz-users/*) for assigning users to quizes,
- QuizController (/quiz/*) — frontend for users.
- Access to all parts is granted just for authorized users.
- Just ROLE_ADMIN users have access to /admin/* parts.
- To start test quiz you should login (/login) and go to /quiz webpage.
- Comments, pulls, reviews, forks are welcome!
MIT.