/redminportal

A Laravel 4 package as a backend administrating tool for Content Management and Ecommerce sites.

Primary LanguagePHPMIT LicenseMIT

Redooor RedminPortal

A Laravel 4 package as a backend administrating tool for Content Management and Ecommerce sites. Gives you ability to add, edit and remove category, product, promotions and many more. Provides User Interface for administrating users and groups (via Cartalyst Sentry).

Installation guide for Users

  1. Add Redminportal to composer.json of a new Laravel application, under "require". Like this:

     "require": {
         "laravel/framework": "4.2.*",
         "redooor/redminportal": "0.1.*"
     },
    
  2. Then run php composer install in a terminal.

  3. Then add Redooor\Redminportal to your app\config\app.php providers array like this:

     'providers' => array(
         'Illuminate\Foundation\Providers\ArtisanServiceProvider',
         ... omitted ...
         'Illuminate\Workbench\WorkbenchServiceProvider',
         'Cartalyst\Sentry\SentryServiceProvider',
         'Redooor\Redminportal\RedminportalServiceProvider',
     ),
    
  4. Then run php artisan dump-autoload in a terminal.

  5. Run the following commands in a terminal to perform database migration for both Redminportal and Sentry:

     ?> php artisan migrate --package=cartalyst/sentry
     ?> php artisan migrate --package=redooor/redminportal
    
  6. Run the following in a terminal to seed the database with initial admin username and password:

     ?> php artisan db:seed --class="RedminSeeder"
     Username/password: admin@admin.com/admin
    
  7. Publish package assets by running this in a terminal:

     php artisan asset:publish redooor/redminportal
    
  8. Publish package config by running this in a terminal:

     php artisan config:publish redooor/redminportal
    

Installation guide for Contributors

  1. Clone the Redooor\Redminportal repository into workbench\redooor\redminportal folder.

  2. Then add Redooor\Redminportal to your app\config\app.php providers array like this:

     'providers' => array(
         'Illuminate\Foundation\Providers\ArtisanServiceProvider',
         ... omitted ...
         'Illuminate\Workbench\WorkbenchServiceProvider',
         'Cartalyst\Sentry\SentryServiceProvider',
         'Redooor\Redminportal\RedminportalServiceProvider',
     ),
    
  3. Then run php composer update in workspace\redoooor\redminportal folder.

  4. Then run php artisan dump-autoload in a terminal.

  5. This Package is dependant on Cartalyst Sentry. In order to do the database migration and seeding, we'll need to add it to the main application's composer.json file, under "require":

     "require": {
         "laravel/framework": "4.2.*",
         "cartalyst/sentry": "2.1.*"
     },
    
  6. Then run php composer update in the main app folder.

  7. Run the following commands in a terminal to perform database migration for both Redminportal and Sentry:

     ?> php artisan migrate --package=cartalyst/sentry
     ?> php artisan migrate --bench=redooor/redminportal
    
  8. Run the following in a terminal to seed the database with initial admin username and password:

     ?> php artisan db:seed --class="RedminSeeder"
     Username/password: admin@admin.com/admin
    
  9. Publish package assets by running this in a terminal:

     php artisan asset:publish --bench=redooor/redminportal
    
  10. Publish package config by running this in a terminal:

    php artisan config:publish --path="workbench/redooor/redminportal/src/config" redooor/redminportal
    

Testing

  • Run vendor/bin/phpunit within the package folder.

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Redooor RedminPortal will adhere to the Semantic Versioning guidelines whenever possible.

Contributing

Thank you for considering contributing to RedminPortal. Before any submission, please spend some time reading through the CONTRIBUTING.md document.

Creator

Andrews Ang

License

RedminPortal is open-sourced software licensed under the MIT license.

Change log

Version 0.1.1

  1. Supports Laravel 4.2.
  2. Moved Twitter Bootstrap to require-dev.
  3. Dynamically creates in-memory sqlite database for test.
  4. Fixed an issue when accessing admin/login directly.
  5. Added translation zh-tw and zh-cn to login page and main menus.
  6. Resolved issue where package Config cannot be overriden.
  7. Temporarily increase memory to 256MB for testing.

Version 0.1.0

  1. Supports Laravel 4.2
  2. PHPUnit testing and fixed Model test errors.
  3. Media supports huge file upload (via a plugin).
  4. Able to activate user from admin portal.
  5. Able to insert picture in Announcement page.

External libraries used

Configuration

  1. Menu view can be controlled via config/menu.php file.
  2. Uploaded image size can be controlled via config/image.php file.
  3. Translation capability can be turned on via config/translation.php file.

Models

User Management

  • User
  • Group

Content Management

  • Announcement
  • Portfolio

Online Store (Physical Products)

  • Category
  • Discount
  • Product
  • Promotion

Membership Subscription (Downloadable Products)

  • Category
  • Discount
  • Media
  • Membership
  • Module
  • ModuleMediaMembership
  • Purchase

Customer Management

  • Mailinglist

Morphs

  • Image
  • Tag

Downloadable Reports

  1. Downloadable CSV reports for Purchases and Mailinglist.