Skip to content

Latest commit

 

History

History
95 lines (81 loc) · 4.1 KB

README.md

File metadata and controls

95 lines (81 loc) · 4.1 KB

Laravel CMS Starter Project

A Laravel CMS Starter project with AdminLTE theme and core features.

  • Laravel 5.4
  • Laravel 5.2 (Branch Laravel 5.2)

Preview project here

What is New?

  • Impersonation When logged in, go here and click on the 'impersonate user' action.
  • Roles (Assign a role to user and assign role to navigation. Can only see navigation for given role)
  • Subscription Plans (Manage the Subscription Plans and Features)

Features / What it includes

  • Admin LTE admin theme
  • Authorization
    • login / forgot password
    • register via authorization (admin invite user)
  • Google Analytics Reports (with charts)
    • visitors
    • devices
    • keywords
    • pages
  • Admin Navigation
  • Website Navigation
  • Log Actions (if contact us was submitted, etc)
  • Notifications (Laravel 5.4 notifications)
  • Log Activities (user, resource, before, after)
  • Bootstrap Alerts and Form Error messages. package; bpocallaghan/alert
  • Flash a Notification after a CRUD resource action. package; bpocallaghan/notify
  • Generate crud resource, individual files. package; bpocallaghan/generators
  • Useful laravel helper classes / traits. package; bpocallaghan/titan

Setup (Basic)

  • download zip
  • composer install
  • rename .env.example - .env
  • php artisan key:generate
  • open .env and set the app info (url, title, description, etc)
  • create your database and set db name in .env
  • php artisan migrate
  • php artisan db:seed
    • open database\seeds\UserTableSeeder.php to create a different admin
  • open your browser (http://laravel-admin.dev/)
    • the home, about, contact us gets generated + the breadcrumb
  • log into the admin (http://laravel-admin.dev/admin)

Setup (Advanced)

  • complete 'basic' setup
  • config\app.php -> set timezone
  • create FB Website App https://developers.facebook.com/
  • create a mailgun account and set custom domain
  • google captcha https://www.google.com/recaptcha/admin#list
  • google analytics account https://analytics.google.com/analytics/web
  • google console developer account for google maps and google analytics API
    • Create api browser key for google maps
    • Create service account key for google analytics
      • add the email to the 'accounts' under google analytics
      • download and store the p12
      • go to google analytics under the admin - view settings - for the 'site id'
    • more info https://github.com/spatie/laravel-analytics
    • run the below to edit the config (set the name of the .p12)
    • php artisan vendor:publish --provider="Spatie\LaravelAnalytics\LaravelAnalyticsServiceProvider"
  • have a look at Admin\NavigationController.php on how to use datatables and datatables with ajax if more than 150 entries

TODO

  • Documentation (more user friendly)
  • Make project more 'open source' (currently heavily focused for me only)
  • Add more features (Roles, Permissions, Queue, Backup, etc)
  • Learn Testing
  • Learn Vue.js

Thank you

Note

Please keep in mind this is for my personal workflow and might not fit your need. This is my starter project for most small crud admin portals. I try to keep it clean, flexibly and friendly to use. This is not a complete project or best practises, just trying to help the community :). Please let me know about any issues or if you have any suggestions.

My Packages being used