This version of this site is no longer online, so this repository is no longer mantained
This is the source code for the of GameJam Alicante, a site dedicated to hold GameJam local contests.
All code is under license GPLv3
and Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
. For more information, see file LICENSE
.
This projects uses the PHP framework Symfony. All relevant documentation can be found in the official documentation:
Doctrine is used as a ORM. All the documentation can be found in the official documentation as well:
In order to begin development, it's necessary to install the site in your local machine. PHP >=5.5 is required as hard dependency. The rest of dependencies are the defined in the composer.json
file. But before installing all the dependencies, a parameters.yml
file should be created in the app/config/
directory. A model for this file is to be found at app/config/parameters.yml.dist
.
After that, you can install the dependencies doing:
composer install
You will also need to create the database schema:
php app/console doctrine:schema:update --force
There are currently 4 bundles used in this site:
-
ChallengeBundle: this contains the challenges feature, which consist on an REST API and some views to interact with the challenges in the main site. This bundle requires the Redis server installed in the machine. Also, the REST API may be accessed by using the
rest_dev
andrest_prod
environments which actually loads the routes for the REST API. -
CompoBundle: This is the main Bundle where most of the site sections are. Summary of controllers:
- ChallengeController: Shows challenges related to some compos (solidaria)
- CompoController: main compo controller, which shows the shoutbox, general info, etc.
- ContributorController: shows contributors information
- FrontendController: main website section, which also contains a shoutbox. It constains some partial actions to be used as subrequests from other views
- GameController: shows games from all users of the site
- JuryController: show judges from current compo
- NotificationController: shows notifications / news
- PaymentController: all payment stuff is to be found at this controller. This is rather complex and it uses the JMSPaymentBundle: http://jmsyst.com/bundles/JMSPaymentCoreBundle
- ScoreboardController: shows results for each compo
- TeamController: team management (during compo)
-
UserBundle: all user related stuff, profile views, control panel, payment, etc. This is based on FOSUserBundle: https://github.com/FriendsOfSymfony/FOSUserBundle
-
GameBundle: all game related stuff, game view, game control panel, ultra coins, etc.