Skip to content

kreta/Kreta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d20611e · May 25, 2015
May 25, 2015
May 6, 2015
May 25, 2015
Apr 11, 2015
May 24, 2015
Nov 22, 2014
May 8, 2015
May 20, 2015
Apr 11, 2015
May 25, 2015
May 25, 2015
May 21, 2015
May 25, 2015
May 25, 2015
May 25, 2015
Oct 10, 2014
May 25, 2015
Oct 10, 2014

Repository files navigation

Kreta

Modern project manager for software development.

Build Status Coverage Status Scrutinizer Code Quality SensioLabsInsight HHVM Status Total Downloads

Latest Stable Version Latest Unstable Version

Prerequisites

To start to use this project, we recommend using a Vagrant virtual machine located in the root directory that provides a completely functional environment for running Kreta. This Vagrant that is imported as submodule is maintained by benatespina in this repository so, we are pretty sure that you won`t any problems to use it; however, if you have any kind of question or doubt, do not hesitate to contact us.

To make it work, first of all you need to install Vagrant on your system, which in turn requires RubyGems and VirtualBox.

If you are on Windows, we recommend RubyInstaller to install Ruby and any ssh client as PuTTY for log into your Vagrant box.

This box has some dependencies so you must install vagrant-hostsupdater plugin for Vagrant, which adds an entry to your /etc/hosts file on the host system and vagrant-vbguest which automatically installs the host's VirtualBox Guest Additions on the guest system.

$ vagrant plugin install vagrant-hostsupdater
$ vagrant plugin install vagrant-vbguest

Getting started

The recommended way to clone this project is using the following command in order to add git submodules too:

$ git clone --recursive https://github.com/kreta-io/kreta.git kreta

Then, inside /vagrant directory you have to copy the parameters.yml.dist in the same directory to parameters.yml, modifying the values with your favorite preferences. This is what we recommend:

#### REQUIRED ####
vm:
  host_name:     kreta
  domain:        localhost
  host_path:     /var/www
  public_dir:    /web
  ip:            192.168.10.42
  port:          8080
  synced_folder: nfs
  box:           http://files.vagrantup.com/precise64.box
  cpu:           1
  memory:        512

#### OPTIONAL ####
nginx: ~
php:
  version:  5.6
  timezone: Europe/Madrid
  xdebug:
    version:           2.2.5
    max_nesting_level: 256
    ide_key:           PHPSTORM
    remote:
      host:            localhost
      port:            9000
mysql:
  version:       5.6
  root_password: root
  user:          user
  password:      123
  database:      kreta
nodejs:
  version: 0.12.2
  packages:
    - gulp
    - bower
ruby:
  version: 2.1
  gems:
    - sass
    - scss-lint

In the next step, you have to build the Vagrant machine and then, you have to connect via ssh to the VM with the following commands:

$ cd /vagrant
$ vagrant up
$ vagrant ssh

NOTE: sometimes when you type vagrant up of provisioned box, the /dev/shm/symfony/cache and /dev/shm/symfony/logs folders are disappeared; to solve this problem you have to execute sh scripts/clear_cache.sh

Once, you are inside the Vagrant box you need to download Kreta's dependencies using Composer.

$ composer install

Furthermore, you need to download front-end development dependencies using NPM and Bower.

$ npm install
$ bower install

After that, you have to load everything related to database (create database if it is not exist, create schema and load some fixtures). The fastest way is executing the following command.

$ sh scripts/update_doctrine_dev.sh

Finally, you have to dump the assets files using Gulp:

$ gulp

And that's all! Now, if you access http://kreta.localhost, you will see your site up and running.

Tests

This project is completely tested by full-stack BDD methodology.

For testing PHPSpec and Behat are used.

To run PHPSpec type the following

$ bin/phpspec run -fpretty

To run Behat tests run the following

$ sh scripts/pre_behat.sh
$ bin/behat

Contributing

This projects follows PHP coding standards, so pull requests must pass PHP Code Sniffer and PHP Mess Detector checks. In the root directory of this project you have the custom rulesets (ruleset.xml for PHPCS and phpmd.xml for PHPMD).

There is also a policy for contributing to this project. Pull requests must be explained step by step to make the review process easy in order to accept and merge them. New methods or code improvements must come paired with PHPSpec tests.

If you would like to contribute it is a good point to follow Symfony contribution standards, so please read the Contributing Code in the project documentation. If you are submitting a pull request, please follow the guidelines in the Submitting a Patch section and use the Pull Request Template.

If you have any doubt or maybe you want to share some opinion, you can use our Gitter chat. Gitter

Credits

Kreta is created by:

@benatespina - benatespina@gmail.com
@gorkalaucirica - gorka.lauzirika@gmail.com

Licensing Options

License