Welcome to SMP/Bundle!
Installation:
composer.json:, (*1)
[...]
"require" : {
[...]
"smp/SmpBundle" : "dev-master"
},
"repositories" : [{
"type" : "vcs",
"url" : "https://github.com/namzug82/SmpBundle.git"
}],
[...], (*2)
Do:, (*3)
curl -sS https://getcomposer.org/installer | php
php composer.phar update smp/SmpBundle, (*4)
app/AppKernel:, (*5)
new SmpBundle\SmpSmpBundle(),, (*6)
Configuration:
config.yml, (*7)
Redis
snc_redis:
# configure predis as client
clients:
default:
type: predis
alias: default
dsn: redis://localhost
doctrine:
type: predis
alias: doctrine
dsn: redis://localhost
# configure doctrine caching
doctrine:
metadata_cache:
client: doctrine
entity_manager: default
document_manager: default
result_cache:
client: doctrine
entity_manager: [default]
query_cache:
client: doctrine
entity_manager: default, (*8)
parameters.yml, (*9)
parameters:
images_directory: '%kernel.root_dir%/../web/uploads/images'
database_host: 127.0.0.1
database_port: null
database_name:
database_user:
database_password:
mailer_transport:
mailer_host:
mailer_user:
mailer_password:
secret: SuperSecretToken
s3_bucket:
s3_key:
s3_secret:
s3_region:
s3_version:
sphinx_host: localhost
sphinx_port: 9312
sphinx_user_entity_index: 'SmpBundle:User'
sphinx_material_entity_index: 'SmpBundle:Material', (*10)
composer.json, (*11)
{
"extra": {
"incenteev-parameters": {
"keep-outdated": true
}
}
}, (*12)
routing.yml, (*13)
frontend:
resource: "@SmpBundle/Controller/Frontend"
type: annotation, (*14)
admin:
resource: "@SmpBundle/Controller/Admin"
type: annotation, (*15)
login_check:
pattern: /login_check, (*16)
logout:
pattern: /logout, (*17)
security.yml, (*18)
security:, (*19)
encoders:
SmpBundle\Entity\User: { algorithm: sha512, iterations: 10 }, (*20)
providers:
users:
entity:
class: SmpBundle:User
property: email, (*21)
firewalls:
frontend:
pattern: ^/
anonymous: ~
provider: users
form_login:
login_path: /login
check_path: /login_check
default_target_path: home
logout:
path: /logout
remember_me:
key: smp1234
lifetime: 3600
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false, (*22)
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/registration, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/*, roles: IS_AUTHENTICATED_ANONYMOUSLY }, (*23)
services.yml, (*24)
parameters:
s3_client.config:
bucket: "%s3_bucket%"
key: "%s3_key%"
secret: "%s3_secret%"
region: "%s3_region%"
version: "%s3_version%", (*25)
services:, (*26)
cache:
class: Doctrine\Common\Cache\ApcCache, (*27)
slugger:
class: SmpBundle\Service\Slugger, (*28)
predis_client:
class: SmpBundle\Service\PredisClient, (*29)
s3_client:
class: SmpBundle\Service\S3Bucket
arguments: ["@service_container", "%s3_client.config%"], (*30)
users_materials_linker:
class: SmpBundle\Service\UsersMaterialsLinker
arguments: ["@doctrine.orm.entity_manager"], (*31)
material_repo:
class: SmpBundle\Repository\MaterialRepository, (*32)
user_sphinx_repo:
class: SmpBundle\Repository\UserSphinxRepository
arguments: ["@service_container"], (*33)
material_sphinx_repo:
class: SmpBundle\Repository\MaterialSphinxRepository
arguments: ["@service_container"], (*34)
target_user_retriever:
class: SmpBundle\Service\TargetUserRetriever
arguments: ["@service_container", "@doctrine.orm.entity_manager"], (*35)
Others resources, (*36)
Inside the Resources folder you can find a sql file with database sample, same css style sheets, javascripts, twig templates, etc.
To check this app I recommend you to move all these sources in your app/Resources folder and you must set sphinxsearch and redis in your server., (*37)
Also you can find the application repository here: https://bitbucket.org/namzug82/final-project-mupwar, (*38)