Laracom is based on Laravel application, so everything are the same with Laravel base project.
{success} Sign-up with Digital Ocean and get $10 discount!
{info} There are many ways to install a Laravel app but we suggest using Homestead.
Install Laravel Homestead. Just follow the instruction on the site.
{primary} Protip: Create your own folder in your home directory like
Code
to segregate your coding projects
Go to your preferred workspace location and create the project with
composer create-project jsdecena/laracom
Modify your Homestead.yml
file in ~/.homestead
folder with
folders:
- map: ~/Code
to: /home/vagrant/Code
sites:
- map: laracom.app
to: /home/vagrant/Code/laracom/public
Just make sure you have Code
folder in your home directory. If you have other workspace folders, change the Code
with your folder. Then run
vagrant up --provision
{primary} Protip: You can also set the IP and name to
/etc/hosts
like this192.168.10.10 laracom.app
so you can go to http://laracom.app
If you prefer using php artisan
command, You just need to run
php php artisan serve
````
and it will open a browser for you
<a name="build-compile"></a>
### Build and compile assets
Install [NVM (Node Version Manager)](https://github.com/creationix/nvm#install-script)
Install all dependencies and compile admin and frontend css / javascripts
nodejs npm install && npm run dev
> {primary} Protip: If you are adjusting your own theme for the frontend, you need to adjust the webpack.mix.js so it will compile your assets
js
....
.styles(
[
'node_modules/bootstrap/dist/css/bootstrap.css',
'node_modules/font-awesome/css/font-awesome.css',
'node_modules/select2/dist/css/select2.css',
'resources/assets/css/drift-basic.min.css',
'resources/assets/css/front.css'
],
'public/css/style.min.css'
)
.scripts(
[
'node_modules/bootstrap/dist/js/bootstrap.js',
'node_modules/select2/dist/js/select2.js',
'resources/assets/js/owl.carousel.min.js',
'resources/assets/js/Drift.min.js'
],
'public/js/front.min.js'
)
.copyDirectory('node_modules/datatables/media/images', 'public/images')
.copyDirectory('node_modules/font-awesome/fonts', 'public/fonts')
.copyDirectory('resources/assets/admin-lte/img', 'public/img')
.copyDirectory('resources/assets/images', 'public/images')
.copy('resources/assets/js/scripts.js', 'public/js/scripts.js')
.copy('resources/assets/js/custom.js', 'public/js/custom.js');
then run again: `npm run dev` to install your changes.
The public folder will have single `style.min.css` and `front.min.js` for all your assets. You can also copy files to the public folder.
<a name="configure-laracom"></a>
### How to configure Laracom
Go to Homestead directory via the terminal:
bash cd ~/Homestead vagrant ssh
Once inside vagrant, cd to your project folder:
bash cd ~/Homestead/Code/laracom composer install
Copy **.env.example** `cp .env.example .env`
If you are on `homestead`, default details DB connections are:
php DB_CONNECTION=mysql DB_HOST=192.168.10.10 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
Run migration and seed default data with
php php artisan migrate --seed
Symlink the `storage` folder to public. Run
php php artisan storage:link
> {primary} Issuing the `php artisan storage:link` is **IMPORTANT** to display all the images
If you run your app with `php artisan serve` connect to your installed db connection
<a name="other-setting"></a>
### Other settings
By default, Paypal (Express Checkout) is the default payment gateway. You must configure the credentials in the payment methods admin:
php PP_ACCOUNT_ID=xxxxx-facilitator@email.com PP_CLIENT_ID=xxxxxx PP_CLIENT_SECRET=xxxx PP_API_URL=https://api.sandbox.paypal.com PP_REDIRECT_URL=http://localhost/execute PP_CANCEL_URL=http://localhost/cancel PP_FAILED_URL=http://localhost/failed PP_MODE=sandbox
You can enable / disable the payment gateways via the .env.
php PAYMENT_METHODS=paypal,stripe,bank-transfer
Stripe
php STRIPE_KEY=xxxx STRIPE_SECRET=xxxx STRIPE_REDIRECT_URL=http://localhost/execute?stripe STRIPE_CANCEL_URL=http://localhost/cancel?stripe STRIPE_FAILED_URL=http://localhost/failed?stripe
Bank Transfer
php BANK_TRANSFER_NAME=xxxx BANK_TRANSFER_ACCOUNT_TYPE=xxxx BANK_TRANSFER_ACCOUNT_NAME=xxxx BANK_TRANSFER_ACCOUNT_NUMBER=xxx BANK_TRANSFER_SWIFT_CODE=xxx BANK_TRANSFER_SWIFT_NOTE=xxx
Shop settings
php SHOP_NAME= SHOP_COUNTRY_ISO= SHOP_COUNTRY_ID=
SHOP_WEIGHT=lbs SHOP_EMAIL=your@email.com SHIPPING_COST=0 TAX_RATE=10 DEFAULT_CURRENCY=USD
You can activate [SHIPPO shipping](https://goshippo.com/) if you need it else set `0` to deactivate
php ACTIVATE_SHIPPING=0 SHIPPING_API_TOKEN=shippo_test_xxxxxx
MailChimp Newsletter settings should be set in `.env`
php MAILCHIMP_API_KEY= MAILCHIMP_LIST_ID=
Set your mail server in the `.env`
php MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME= MAIL_PASSWORD=
<a name="admin-dashboard"></a>
### Admin dashboard
In order to enter the administration dashboard, you have to hit the `/admin` route.
E.g enter http://localhost/admin or in general http://your-domain/admin in your browser.
If you're not already logged in, you are redirected to the admin login screen.
There you can use one of the following credentials to access the admin dashboard.
**Email and Passwords**
php john@doe.com / secret (role:superadmin) admin@doe.com / secret (role:admin) clerk@doe.com / secret (role:user) ```
There are many ways to install it on your server. If you need help, you can message me for my service. Thanks!
That should be it! 🎉 If anything else for clarification, you can email ✉️ or message me. 😄
If you find this app useful, with a kind heart, consider a donation or by me a coffee