Skip to content

HorusCMF/Shop

Repository files navigation

Horus CMF Shop

Build Status Scrutinizer Quality Score

Horus CMF is an open source e-commerce solution for Developers, based on the Symfony2 framework.

Ultimate goal of the project is to create a Minimalist & Collaborative Webshop engine, which is user-friendly, loved by developers and has a helpful community.

Horus with Symfony2 offers all the flexibility of custom development for E-Commerce and can be used to design an application that perfectly meets the expressed needs. It, however, requires development, integration and maintenance related technical expertise.

Using full-stack Symfony Framework 2.3.7, with MongoDB, Node IO/Stream, Elastic Search and Codeception.

Technologies: Symfony2, Assetic, Doctrine 2, Node, SASS & COMPASS, MVC, Bootsrap Twitter, PHPUnit, Behat, Twig, YAML, Codeception, Payline / Payzen, Coffescript, Mongo,

Philosophy: Minimalist features, Collaborative in real time, Maintainable, Pragmatic and Responsive Solution.

Screenshots

ScreenShot ScreenShot ScreenShot ScreenShot ScreenShot ScreenShot ScreenShot

Documentation

Documentation is available at docs.Horus CMF.org.

Quick Installation

$ wget http://getcomposer.org/composer.phar
$ php composer.phar create-project HorusCMF/Shop -s dev
$ cd HorusCMF
$ php app/console HorusCMF:install

Requirements

  • Mongo DB
  • Elastic Search
  • Node JS
  • Composer
  • Symfony 2

Installation

Add the deps for the needed bundles

[HorusSiteBundle]
    git=https://github.com/HorusCMF/Shop.git
    target=/bundles/horussite/

Or add HorusSiteBundle in your composer.json

{
    "require": {
        "HorusCMF/Shop": "*"
    }
}

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

Add to autoload.php

$loader->registerNamespaces(array(
    'Horus'             => __DIR__.'/../vendor/bundles',
    // ...

Register HorusSiteBundle to Kernel

<?php

    # app/AppKernel.php
    //...
    $bundles = array(
        //...
        new Horus\SiteBundle\HorusSiteBundle(),
    );
    //...

Create database and schema

$ php app/console doctrine:database:create
$ php app/console doctrine:schema:create

Enable routing configuration

# app/config/routing.yml
horus:
    resource: "@HorusSiteBundle/Resources/config/routing.yml"

Refresh asset folder

$ php app/console assets:install web/

Data fixtures (optional)

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

You can read about install instructions in the Symfony2 Cookbook(http://symfony.com/doc/2.0/cookbook/doctrine/doctrine_fixtures.html#setup-and-configuration)

Why Horus CMF

  • 100% Responsive Backend
  • Based on Powerfully Symfony 2
  • MVC Structure
  • ORM Database with Doctrine 2
  • ODM NoSQL with Mongo
  • Elastic search to the Cloud Big Datas
  • Real-Time App with Node
  • Flexible views with Twig Template Engine
  • Acceptance, Unit & Fct Tests with Codeception
  • Form Classes in services
  • Routing & Configuration & Translation in YAML
  • Sass & Compass & Coffee with Assetic
  • Security with Roles & Permissions & Switch to Roles access
  • E-R Model System with Entities-Repository
  • Datas fixtures for tests
  • Documentation API with Responsive PHPDocumentor 2
  • Crud action for all Modules

Troubleshooting

If something goes wrong, errors & exceptions are logged at the application level.

tail -f app/logs/prod.log
tail -f app/logs/dev.log

Contributing

All informations about contributing to Horus CMF can be found on this page.

Horus CMF on twitter

If you want to keep up with the updates, follow the official Horus CMF account on twitter.

Bug tracking

Horus CMF uses GitHub issues. If you have found bug, please create an issue.

Fixtures

All fixtures in Bundles use Doctrine Fixtures and can be loaded by php app/console doctrine:fixtures:load

Testing

All tests use Codeception and can be launched in console by: php bin/codecept run --steps --debug --html

Travis CI

Follow all changes & testing here. For coverage: phpunit -c app --coverage-text

MIT License

License can be found here.

Authors

Horus CMF was originally created by [Symfomany] See the list of contributors.