A tool for communities based on Symfony 2
The code base is divided in 6 bundles :
-
###AdminBundle
Contains all code related to the administration panel. Also contains the
version:bump
commandEntities :
Announcement
- custom repository
-
###GeneralBundle
Contains all general code, shared with all the other bundles, namely stuff about Communities, Logs, Comments and Tags. Root for all public code : JS, CSS and images in
\Resources\public\
.Implements a Listener to have a
preexecute
functionality in all other controllers.Entities :
Community\Community
- custom repositoryBehaviour\Tag
Behaviour\Taggable
Comment\BaseComment
- Parent class to all comments classes, custom repositoryComment\CommunityComment
Log\BaseLogEntry
- Parent class to all logs classes, custom repositoryLog\IdeaLogEntry
- custom repositoryLog\StandardProjectLogEntry
- custom repositoryLog\UserLogEntry
- custom repository
Services :
LogService
- all about logsTextService
- slugify function
-
###ProjectBundle
Contains all code related to projects (ie. Wikipages, resources, lists, listitems).
Entities :
Comment\StandardProjectComment
- child class for StandardProjects commentComment\WikiPageComment
- child class for Wikipages commentComment\CommonListComment
- child class for lists commentCommonList
- custom repositoryCommonListItem
- custom repositoryResource
StandardProject
- custom repositoryWiki
WikiPage
- custom repository
-
###IdeaBundle
Contains all code related to ideas.
Entities :
Comment\IdeaComment
- child class for Ideas commentIdea
- custom repository
-
###UserBundle
Contains all code related to users (ie. OpenId, Skills), and non-authenticated navigation (ie. Invite tokens).
This bundle comprises the main login / authentication functions.
Entities :
OpenIdIdentity
- user for singin up/in with OpenIdSkill
- custom repositoryUser
- custom repositoryUserCommunity
- custom repositoryUserInviteToken
Implements a LanguageListener to handle session / request locales, and a OpenIdUserManager to comply with fpOpenId bundle's requirements.
-
###StaticBundle
This bundle manages the static site at
/
. It does not define any entity, and has a single controller to serve the various pages of the static site.
php app/console fos:elastica:populate
To run the unit tests with phpunit
, you need to add some fixtures first :
php app/console doctrine:fixtures:load --append
Then you can run the tests (you need more than 300 Mo, so the limit is set to 1Go of memory):
phpunit -d memory_limit=1024M -c app/
See Licence file
List of open-source projects used herein :
MIT https://github.com/formapro/FpOpenIdBundle This bundle is under the MIT license, by https://github.com/formapro
MIT https://github.com/willdurand/BazingaExposeTranslationBundle This bundle is under the MIT license, by William Durand (https://github.com/willdurand)
MIT http://bourbon.io/ Bourbon and NEAT are maintained and funded by thoughtbot, inc.
Bourbon and NEAT are Copyright © 2011-2013 thoughtbot under the MIT License. It is free software, and may be redistributed under the terms specified in the LICENSE file.
MIT http://fabien-d.github.io/alertify.js/ alertify.js is licensed under MIT, copyright © Fabien Doiron
MIT https://github.com/html5cat/redactor-js Redactor below version 7.6.2 is under the MIT License. See : https://github.com/html5cat/redactor-js
MIT https://github.com/enyo/dropzone Dropzone is under the MIT License. See : https://github.com/enyo/dropzone
SIL / MIT / CC BY 3.0 http://fortawesome.github.com/Font-Awesome The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL.
Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html.
The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
MIT http://deepliquid.com/projects/Jcrop © 2008-2010 Kelly Hallman
Free software released under MIT License
BSD + MIT https://github.com/tchapi/Nestable Copyright (c) 2013 David Bushell - http://dbushell.com/
Contributions by tchapi (https://github.com/tchapi) - https://github.com/tchapi/Nestable
Dual-licensed under the BSD or MIT licenses
CC BY 3.0 http://designmodo.com/linecons-free Polaris UI and Linecons is licensed under a Creative Commons Attribution 3.0 Unported (CC BY 3.0) (http://creativecommons.org/licenses/by/3.0/)
MIT https://github.com/KnpLabs/KnpMarkdownBundle Provide markdown conversion (based on Michel Fortin work).