A Laravel 5.1 package as a frontend theme for Ecommerce sites using RedminPortal as backend administrating tool. Serves as an example for developers who wish to build an online store with RedminPortal.
- Compatibility
- Models and Features
- Installation guide for Users
- Installation guide for Contributors
- Testing
- Versioning
- Contributing
- Creator
- License
- External Libraries Used
- Change log
- Upgrade Guide
#Compatibility
Laravel | RedminStore |
---|---|
5.1 | 0.1.x |
Refer to RedminPortal for the list of supported models and features.
You can install Laravel version 5.1 using the command:
composer create-project laravel/laravel myproject 5.1.*
-
Add Redminstore to composer.json of a new Laravel application, under "require". Like this:
"require": { "laravel/framework": "5.1.*", "redooor/redminportal": "0.3.*", "redooor/redminstore": "0.1.*" },
Due to the use of getID3 package, we need to set the minimum-stability to "dev" but prefer-stable to "true". Like this:
"minimum-stability": "dev",
"prefer-stable": true
This package is dependent on RedminPortal, refer to the installation guide HERE.
-
Then run
php composer update
in a terminal. -
Now, edit your [root]\config\app.php providers and alias array like this:
'providers' => array( Illuminate\Foundation\Providers\ArtisanServiceProvider::class, ... omitted ... // Add this line Redooor\Redminstore\RedminstoreServiceProvider::class, ),
-
Then run
php composer dump-autoload
in a terminal. -
Run the following commands in a terminal to perform database migration for Redminstore:
?> php artisan vendor:publish --provider="Redooor\Redminstore\RedminstoreServiceProvider" --tag="migrations" --force ?> php artisan migrate --path=/database/migrations/vendor/redooor/redminstore
NOTE: using --force will overwrite existing files
-
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
-
Publish package assets by running this in a terminal:
?> php artisan vendor:publish --provider="Redooor\Redminstore\RedminstoreServiceProvider" --tag="public" --force
NOTE: using --force will overwrite existing files
-
Publish package config by running this in a terminal:
?> php artisan vendor:publish --provider="Redooor\Redminstore\RedminstoreServiceProvider" --tag="config" --force
NOTE: using --force will overwrite existing files
It is recommended that contributors use Laravel Homestead for development because it will provide the same development environment for all of us. Read more about Laravel Homestead here.
- Install Laravel 5.1 using this guide. We'll call this the [root].
You can install Laravel version 5.1 using the command:
composer create-project laravel/laravel myproject 5.1.*
This package is dependent on RedminPortal, refer to the installation guide HERE.
-
Create a folder named "packages" inside the [root] folder.
-
Clone the Redooor\Redminstore repository into [root]\packages\redooor\redminstore folder.
-
Open a terminal, cd to [root]\packages\redooor\redminstore folder then run:
composer update --prefer-dist -vvv --profile
-
Then add Redooor\Redminstore source to [root]'s composer.json under "autoload" like this:
"autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/", "Redooor\\Redminstore\\": "packages/redooor/redminstore/src" } },
-
Due to the use of getID3 package, we need to set the minimum-stability to "dev" but prefer-stable to "true". Like this:
"minimum-stability": "dev", "prefer-stable": true
-
Then cd to [root]'s folder and run:
composer update --prefer-dist -vvv --profile --no-dev
NOTE: the [root]'s phpunit dependency will clash with the package's phpunit. "
--no-dev
" ensures that it is not installed on [root]. You can also choose to remove phpunit fromrequire
inside the [root]'s composer.json. -
Now, edit your [root]\config\app.php providers and alias array like this:
'providers' => array( Illuminate\Foundation\Providers\ArtisanServiceProvider::class, ... omitted ... // Add this line Redooor\Redminstore\RedminstoreServiceProvider::class, ),
-
Run the following commands in a terminal to perform database migration for Redminstore inside the [root] folder:
?> php artisan vendor:publish --provider="Redooor\Redminstore\RedminstoreServiceProvider" --tag="migrations" --force ?> php artisan migrate --path=/database/migrations/vendor/redooor/redminstore
NOTE: using --force will overwrite existing files
-
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
-
Publish package assets by running this in a terminal:
?> php artisan vendor:publish --provider="Redooor\Redminstore\RedminstoreServiceProvider" --tag="public" --force
NOTE: using --force will overwrite existing files
-
Publish package config by running this in a terminal:
?> php artisan vendor:publish --provider="Redooor\Redminstore\RedminstoreServiceProvider" --tag="config" --force
NOTE: using --force will overwrite existing files
- You need to have nodejs installed
- cd to workbench/redooor/redminstore
- Run npm install
- Run bower install
- To build all assets, run grunt
- To compile just the less css, run grunt less-compile
-
In packages\redooor\redminstore folder, run
?> composer update --prefer-dist -vvv --profile ?> vendor/bin/phpunit
NOTE: If you run out of memory while running the full tests, try running the tests by sub-folders.
?> vendor/bin/phpunit tests/models/ ?> vendor/bin/phpunit tests/controllers/ ?> vendor/bin/phpunit tests/relationships/
For transparency into our release cycle and in striving to maintain backward compatibility, Redooor RedminStore will adhere to the Semantic Versioning guidelines whenever possible.
Thank you for considering contributing to RedminStore. Before any submission, please spend some time reading through the CONTRIBUTING.md document.
Andrews Ang
RedminStore is open-sourced software licensed under the MIT license.
- Bootstrap v3.3.5
- jQuery v2.1.3
Refer to CHANGELOG.md
Refer to UPGRADE.md