bpocallaghan / laravel-admin-starter by bpocallaghan

A Laravel CMS Starter project with AdminLTE, Roles, Impersonations, Analytics, Activity, Notifications and more.
1,390
331
38
Package Data
Maintainer Username: bpocallaghan
Package Create Date: 2016-04-02
Package Last Update: 2024-03-28
Home Page: http://bpocallaghan.co.za
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:10:23
Package Statistics
Total Downloads: 1,390
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 331
Total Watchers: 38
Total Forks: 95
Total Open Issues: 2

Laravel CMS Starter Project

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

  • version 1 (The preview project link below)
  • version 2 (master branch)

Preview project here

  • User: github@bpocallaghan.co.za
  • Password: github

Version 1 vs Version 2 Version 2 (master) is a completely refactored project. All the files were moved from your application to a package (titan). This should help keeping the 'core features' up to date as you only have to update the package and not manually copying files anymore. Please check titan out as the setup is really quick. The install command does almost everything for you.

What is New?

  • Titan Setup and Install command updates
  • Added UsersTableSeeder to application
  • Refactored all files to titan

Features / What it includes

  • Admin LTE admin theme
  • Members (website and admin users)
  • Google Analytics Reports (with charts)
  • Website Page Builder with 3 components (page content, photos, documents)
  • Log Website Activities (if contact us was submitted, etc)
  • Notifications (Laravel notifications)
  • Log Admin Activities (when admin create,edit,delete a resource)
  • Bootstrap Alerts and Form Error messages. bpocallaghan/alert
  • Flash a Notification after a CRUD resource action. bpocallaghan/notify
  • Generate crud resource, individual files. bpocallaghan/generators
  • Impersonate any of your customers. bpocallaghan/impersonate
  • Roles, Assign roles to the user and navigation to exlude navigation for a user.
  • Manage Blog, Banners, FAQ, Photos.
  • Reports with Chartjs

Setup (Basic)

  • composer create-project bpocallaghan/laravel-admin-starter:dev-master laravel-admin-starter
  • create your database
  • setup your virtual host (example: http://titan.local)
  • open .env and add database name and user
  • open database\seeds\UsersTableSeeder.php and set your admin user credentials
  • php titan:install` and complete the answers (setup app_name, app_author, app_url, etc)
  • The above command will set .env values, but you can manually edit it before running titan:install

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
    • https://console.developers.google.com
    • Enable the 'google analytics' API
    • Create api browser key for google maps
    • Get and Setup Laravel Analytics Laravel Analytics (Spatie)
      • create NEW service account key
      • any name will work (I use google analytics)
      • key type is JSON
      • download and rename the json to 'service-account-credentials.json'
      • store the file under /storage/app/analytics
      • go to (google analytics)[https://analytics.google.com/analytics/]
      • go to admin - property - user management and add the service account's email as a user
      • go to admin - view - settings and copy the 'site id' to your .env
  • get a Google Maps js API key (after you've created the project in google) https://developers.google.com/maps/documentation/javascript/get-api-key
  • have a look at Admin\NavigationController.php on how to use datatables and datatables with ajax if more than 150 entries

TODO

Thank you

Note

  • I am busy refactoring the project to titan (titan will get some version updates)
  • I am starting with a new website where I will put it in use and probably do lots of updates to titan.

This is my starter project for most crud admin portals. I try to keep it clean, flexibly and friendly to use and to help the community. Please let me know about any issues or if you have any suggestions.

Change log

Please see the CHANGELOG for more information about changes.

My Packages Included

  • File Generators Laravel 5 File Generators with config and publishable stubs
  • Notify Laravel 5 Flash Notifications with icons and animations and with a timeout
  • Alert A helper package to flash a bootstrap alert to the browser via a Facade or a helper function.
  • Impersonate User This allows you to authenticate as any of your customers.
  • Sluggable Provides a HasSlug trait that will generate a unique slug when saving your Laravel Eloquent model.