Welcome to the Cinhetic Project - a fully-functional application built in Symfony2 framework to learn this framework in 360° that you can use to handle cinematographic world!
Roadmap: Handle movies, categories of movies, tags of movies, actors, directors, cinemas, sessions, users, comments...
In some words: Minimalist features, Collaborative solution, Pragmatic and Responsive project
Login: demo
Mdp: demo
http://94.23.5.209/web/apprentissage
- PHP >=5.3.3
- PHPUnit ~ 3.7
- Elastic Search running
- PECL hash >= 1.1
- openssl enabled
- Installing the Cinhetic Standard Edition
When it comes to installing the Cinhetic Project, you have the following options.
As Symfony uses Composer to manage its dependencies, the recommended way to create a new project is to use it.
If you don't have Composer yet, download it following the instructions on http://getcomposer.org/ or just run the following command:
curl -s http://getcomposer.org/installer | php
Then, use the install from Composer:
php composer.phar install
[CinheticPublicBundle]
git=https://github.com/Symfomany/Cinhetic.git
target=/bundles/cinhetic/
Or add CinheticPublicBundle in your composer.json
{
"require": {
"symfomany/cinhetic": "*"
}
}
If you don't have Composer yet, download it following the instructions on http://getcomposer.org/ or just run the following command:
curl -s https://getcomposer.org/installer | php
Next, run the vendors script to download the bundles:
$ php bin/vendors install
$loader->registerNamespaces(array(
'Cinhetic' => __DIR__.'/../vendor/bundles',
// ...
<?php
# app/AppKernel.php
//...
$bundles = array(
//...
new Cinhetic\Public\CinheticPublicBundle(),
);
//...
$ php app/console doctrine:database:create
$ php app/console doctrine:schema:create
# app/config/routing.yml
CinheticPublicBundle:
resource: "@CinheticPublicBundle/Resources/config/routing.yml"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: [email protected]
mailer_password: xxxxxxx
swiftmailer:
transport: gmail
host: smtp.gmail.com
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
And execute command line like:
php app/console cinhetic:email [email protected] nom="Boyer Julien" message="Hello Ju!"
or
php app/console swiftmailer:email:send
$ php app/console assets:install web/
cd ~
sudo apt-get update
sudo apt-get install openjdk-7-jre-headless -y
### Check http://www.elasticsearch.org/download/ for latest version of ElasticSearch and replace wget link below
# NEW WAY / EASY WAY
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.0.deb
sudo dpkg -i elasticsearch-1.1.0.deb
# OLD WAY / HARD WAY
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.0.tar.gz
tar -xf elasticsearch-1.1.0.tar.gz
rm elasticsearch-1.1.0.tar.gz
sudo mv elasticsearch-* elasticsearch
sudo mv elasticsearch /usr/local/share
curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz
sudo mv *servicewrapper*/service /usr/local/share/elasticsearch/bin/
rm -Rf *servicewrapper*
sudo /usr/local/share/elasticsearch/bin/service/elasticsearch install
sudo ln -s `readlink -f /usr/local/share/elasticsearch/bin/service/elasticsearch` /usr/local/bin/rcelasticsearch
sudo service elasticsearch start
#curl http://localhost:9200
First, make sure that your db parameters are correctly set in app/config/parameters.ini
.
You'll need to install Doctrine Data Fixtures
(don't forget to add the
path to AppKernel.php
) and then run:
$ php app/console doctrine:fixtures:load
bin/codecept run --html --colors --report --steps
- Mongo DB
- Elastic Search
- Node JS
- Composer
- Symfony 2
- Installation & Configuration of Symfony2 Framework
- Multi-syntax in Yaml, Xml, PHP
- ClassLoader & PSR-0 & Composer Component
- Installation third bundles like FOSUserBundle, KNPPaginator...
- Routing layer
- Doctrine ORM & DQL
- Console CLI Generators & configuration
- View: Twig Engine with inheritance, including, rendering, filters...
- Controllers: CRUD, Bind with Form/Entity, Entity Manager, HTTP Methods, Request object, Flash Message, services, redirection/forward
- Models: Annotations, Relationship (1:1;,1:n;n:m), Repositories, DQL
- Form: Types of fields, Dependancies with Model, Validations
- API Rest using Allocine V3 with Guzzle HTTP Framework
- Add custom command with console component
- Use SwiftMailer to send test email
- Add service with Service Container
- Implement payment solution in bundle
- Search Engine Movies
- Top Rated Movies
- Page Movie with complete description
- Visibility on Movies and cover action in homepage
- Pagination for results with "KNPPaginatorBundles"
- Datas Fixtures with "Doctrine Fixtures"
- Homepage with custom template by Bootsrapp Twitter
- Form & Repositories in services
- Add authentification & firewall administration for user connected with "FOSUserBundle"
- Rest API for Movies(CRUD) & Categories & Author & Directors with FOSRestBundle
- Page Category to list all movies related
- Page Tag to list movies related by keywords
- Page My Account related my informations
- View all comments by movies
- Add favorites movies in session
- Add optional node layers (socket.io) for comment
- Categories & Tags in cloud keywords
- Trailers of movies in slideshow
- Search engine in elastic search engine
- Comments by movies with forms
- API Rest using Allocine V3 with Guzzle HTTP Framework
- Ajax Search instant with Allocine API
- Add Email Decorator in service
- Add Pre-Order for Movies in Paybox with LexikPayboxBundle
- Mongo for notifications & private message
- Node layer for notifications in real time
- Form & Controllers & Repositories in services
- Documentation by PHPDoc
- Advanced APIs for Mobiles Apps
- Acceptance tests with Codeception
- New design with Front-End/UX Developper @UnPetitLu https://twitter.com/UnPetitLu