Skip to content

perisicnikola37/blog-management-laravel

Repository files navigation

Edwin's Blog - Blog Project | Laravel 9

This project was made with a deadline of two days. I used the already provided frontend template, where I added everything necessary to the database, created relations between the tables, and did the backend in Laravel 9. This project also available a management system (CMS) for blog posts. More information is below...

schooldash-dahboard-page schooldash-dahboard-page schooldash-dahboard-page

Requirements

  • PHP 8.0 and above
  • Composer
  • Since this project is running Laravel 9, I suggest checking out the official requirements

Installation

  • Clone the repository by running the following command in your command line below (Or you can download the zip file from GitHub)
git clone https://github.com/perisicnikola37/blog-management-laravel.git
  • Head to the projects directory
cd blog-management-laravel
  • Install/Update Composer dependencies
composer install | composer update
  • Copy .env.example file into .env file and configure based on your environment
cp .env.example .env
  • Generate an encryption key
php artisan key:generate
  • Migrate the database
php artisan migrate 
  • Seed database

    • Use the following command

      php artisan db:seed
  • For development or testing purposes, you can use the Laravel built-in server by running

php artisan serve

After running the above commands, you should be able to access the application at http::/localhost or your designated domain name depending on the configuration.

Setup

  • Log in to the application with the following credentials

  • Project Workflow

    • When you log in, you would be redirected to a Homepage
    • On this page, you can create a blog post, enter your profile settings, logout and many more
    • Click on Profile to enter your Profile settings
    • In the CMS you can manage all of your blog posts, or if you are an administrator, you can manage all blog posts on the platform and users also
    • As an administrator, you are able to view platform analytics
    • As an administrator, you can also delete a certain user or all users by selecting
    • Inside your profile settings you can edit your name, email address, picture, password, and many more
    • As an administrator, you have a special field called about where you can write something about yourself which will be displayed on the About Page within the platform
  • There are two roles:

  • administrator and subscriber

Possible errors:

-> "cURL error 60: SSL certificate problem: unable to get local issuer certificate"
Watch video

Roles

Administrator

  • Ability to create, edit, view, and delete all blog posts on the platform
  • Ability to create, edit, view, and delete all users on the platform
  • Can view analytics page
  • Can manage the information which will be displayed within about page

Subscriber

  • Ability view all blog posts on the platform
  • Ability to create, edit, view, and delete their blog posts
  • Can view all users on the platform but can't delete them

Features

  • When an administrator deletes someone's post, that post automatically relates to that administrator
  • Used Laravel Sluggable for SEO
  • Added reCAPTCHA on registration
  • Added e-mail contact with Mailgun
  • Added CSRF protection
  • Added Middleware protection for unregistered users
  • Added session messages
  • Added Factories for users and blog posts using faker
  • Every user has a default picture
  • Used Chart.js
  • Added pagination on homepae
  • Added TinyMCE as HTML editor
  • Users have CMS ( Management System )
  • Forms Validation

🚀 Tech used

  • PHP v.8
  • Laravel v.9
  • MySQL
  • HTML v.5 / CSS v.3 / Bootstrap v.5
  • JavaScript

About

A blog management system built in using PHP and Laravel. Web application with multiple roles, functions, packages, and CMS system. All rights reserved.

Topics

Resources

Stars

Watchers

Forks