YasserElgammal / blog-cms

Blog / CMS using Laravel Framework - CMS Blog with full control panel functionality with users roles, Also API to retreive data.
69 stars 42 forks source link
admin-dashboard blog blog-cms cms laravel laravel-cms laravel-framework laravel-multi-login laravel-resources laravel10 laravel11 laravel9 php php-blog-cms polymorphic-relationships rest-api tailwind

Laravel Logo

Project Description

This is CMS Blog Build with Laravel, It has full control panel functionality with users roles. Recorded Video for the whole project

What I use it this project

Data Base Schema

Database Schema - BlogCMS - YasserElgammal

Admin Panel

Admin Panel - BlogCMS - YasserElgammal

Writer Panel

Writer Panel - BlogCMS - YasserElgammal

Front Blog

Front Blog - BlogCMS - YasserElgammal

Front Blog - PostView

Front Blog - PostView - BlogCMS - YasserElgammal

Project Functionality

Admin Panel

Writer Panel

Roles

Role Name Role_ID
Admin 1
Writer 2
User 3

Gate Function

There is a gate filter login when the user login to the admin panel if the user is Admin it will have full functions to manage the blog and if a Writer it will have few functions.

Api Routes

Method End_Point Description
GET api/categories Show All Categories
GET api/categories/{id} Show All Posts inside Specific Category
GET api/posts Show All Posts
GET api/posts/{id} Show Specific Post

Requirements

How to Install

  1. Clone the project
  2. Go to the project root directory and run composer install and npm install
  3. Create .env file and copy content from .env.example
  4. Run php artisan key:generate from terminal
  5. Change database information in .env
  6. Run migrations by executing php artisan migrate , Then Run php artisan db:seed if you want use faker database records,
  7. Start the project by running php artisan serve

Demo Account

About Me

Iam a Backend Developer with 2+ year of experience, I specialize in PHP, Laravel, and front-end technologies like TailwindCSS and Livewire. I have expertise in developing REST APIs and working with MySQL databases, and I am familiar with software architecture patterns such as MVC and HMVC. I am committed to producing clean, well-documented code that is easily maintainable, and I enjoy sharing my knowledge through various channels. I am eager to take on new challenges and continue to develop my skills.