Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ozdemirburak/laravel-9-simple-cms
Laravel 9 content management system for starters.
https://github.com/ozdemirburak/laravel-9-simple-cms
bulma cms content-management content-management-system hacktoberfest laravel laravel-9 php php-cms
Last synced: 30 days ago
JSON representation
Laravel 9 content management system for starters.
- Host: GitHub
- URL: https://github.com/ozdemirburak/laravel-9-simple-cms
- Owner: ozdemirburak
- License: mit
- Created: 2015-04-03T08:08:06.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-03-15T05:55:32.000Z (over 1 year ago)
- Last Synced: 2024-10-01T01:41:05.809Z (about 1 month ago)
- Topics: bulma, cms, content-management, content-management-system, hacktoberfest, laravel, laravel-9, php, php-cms
- Language: PHP
- Homepage:
- Size: 2.85 MB
- Stars: 687
- Watchers: 52
- Forks: 302
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Laravel 9 Simple CMS
Basic boilerplate content management system for starters, supports Laravel 9.0.-----
## Table of Contents* [Features](#item1)
* [Quick Start](#item2)
* [Installation Guide](#item3)
* [User Guide](#item4)
* [Screenshots](#item5)-----
## Features:
* Admin Panel
* Custom template with Bulma
* Google Analytics API integrated dashboard
* Server side oriented datatables
* Page, category, and article management
* [Trumbowyg](https://alex-d.github.io/Trumbowyg/) as the WYSIWYG editor
* [elFinder](https://studio-42.github.io/elFinder/) as the file manager
* [Feather Icons](https://feathericons.com) as the icon package
* Front-end
* Custom template with Bulma
* View pages, articles and categoriesClone this repository and install the dependencies.
$ git clone https://github.com/ozdemirburak/laravel-9-simple-cms.git && cd laravel-9-simple-cms
$ composer installRun the command below to initialize. Do not forget to configure your .env file.
$ php artisan cms:initialize --seed
Install node and npm following one of the techniques explained in
this [link](https://gist.github.com/isaacs/579814) to create and compile the assets of the
application.
$ npm install
$ npm run productionFinally, serve the application.
$ php artisan serve
Open [http://localhost:8000](http://localhost:8000) from your browser.
To access the admin panel, hit the link
[http://localhost:8000/admin](http://localhost:8000/admin) from your browser.
The application comes with default user with email address `[email protected]` and `123456`.* [Step 1: Download the Repository](#step1)
* [Step 2: Initialize Application](#step2)
* [Step 3: Serve](#step3)
* [Step 4: Extras](#step4)-----
### Step 1: Download the RepositoryEither Clone the repository using git clone: `git clone https://github.com/ozdemirburak/laravel-9-simple-cms.git`
or install via zip and extract
to any of your folders you wish.-----
### Step 2: Initialize the ApplicationTo install the composer dependencies you need to have composer installed, if you don't have composer installed,
then [follow these instructions](https://getcomposer.org/download/). Finally run, `composer install` in the `laravel-9-simple-cms` directory.Run `php artisan cms:initialize --seed` which will ask you to create a database to migrate and seed our boilerplate application
with fake data. Do not forget that all variables with `DB_` prefixes in your `.env` file relates to your database configuration.
After configuring your `.env` file, with the proper data, you need to create the assets.If you do not have node and npm installed, follow one of the techniques explained in this [link](https://gist.github.com/isaacs/579814).
Then, to install our boilerplate project's asset dependencies, run `npm install`. Finally to combine the
javascript and style files run `npm run production`.To serve the application, you can use `php artisan serve`, then open [http://localhost:8000](http://localhost:8000)
from your browser. To access the admin panel, hit the link [http://localhost:8000/admin](http://localhost:8000/admin)
from your browser. The application comes with default user with email address `[email protected]` and `123456`.If you want to use the Gmail client to send emails, you need to change the `MAIL_USERNAME` variable as your
Gmail username without `@gmail.com` and password as your Gmail password, `MAIL_FROM_ADDRESS` is your
Gmail account with `@gmail.com` and `MAIL_FROM_NAME` is your name that is registered to that Gmail account.To use the Analytics API, and have all the features of the dashboard,
follow the instructions explained in detail [here](https://github.com/spatie/laravel-analytics#how-to-obtain-the-credentials-to-communicate-with-google-analytics).
You will also need a key for Google Javascript API, has the instructions [here](https://developers.google.com/maps/documentation/javascript/get-api-key). Also if you want to use CAPTCHA in the login form, you will also need to secrets and keys from [here](https://www.google.com/recaptcha).Finally, if you need to re-initialize our simple boilerplate CMS, just run the command below where it will also
update the assets for you.$ php artisan cms:initialize --seed --node
-----
* [How to Create a New Resource](#u1)
-----
### How to Create a New ResourceLets assume we want to create a new resource for fruits where it will have title, description and content attributes.
$ php artisan cms:resource fruit --migrate
You will see an output like below. The CMS generator will do **ALL** the boring stuff for you,
it will create a migration file with a title, description, content, and slug columns by default,
also the respecting Controller and Model files, it will also add the resource to routes, RouteServiceProvider,
even it will add the basic language key value pairs to the language file.Just check and edit the files below to proceed.
```
Created file: database/migrations/2018_10_19_000000_create_fruits_table.php
Created file: app/Models/Fruit.php
Created file: app/Http/Controllers/Admin/DataTables/FruitDataTable.php
Created file: app/Http/Controllers/Admin/FruitController.php
Created file: resources/views/admin/forms/fruit.blade.php
Added route to: routes/admin.php
Added resource language key to: resources/lang/en/resources.php
Added model binding to: app/Providers/RouteServiceProvider.php
```![Index](https://www.dropbox.com/s/u35s0y0gpe7k7dv/lcms1.jpg?raw=1)
![Pagination](https://www.dropbox.com/s/bfnngeuby1cc8sn/lcms2.jpg?raw=1)
![Post](https://www.dropbox.com/s/kunoiaqm6qwrcnr/lcms3.jpg?raw=1)
![Drop down](https://www.dropbox.com/s/b72mgdsno7w2k66/lcms4.jpg?raw=1)
![Admin Auth](https://www.dropbox.com/s/vutejs6b1hbcmyc/lcms5.jpg?raw=1)
![Admin Dashboard](https://www.dropbox.com/s/tky0e11j1r4ys6t/lcms6.jpg?raw=1)
![Admin Page Manager](https://www.dropbox.com/s/0nfl3lt021kxysj/lcms7.jpg?raw=1)