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...
- PHP 8.0 and above
- Composer
- Since this project is running Laravel 9, I suggest checking out the official requirements
- 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.
-
Log in to the application with the following credentials
- Email: admin@gmail.com
- Password: password
-
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
andsubscriber
-> "cURL error 60: SSL certificate problem: unable to get local issuer certificate"
Watch video
- 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
- 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
- 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
- PHP v.8
- Laravel v.9
- MySQL
- HTML v.5 / CSS v.3 / Bootstrap v.5
- JavaScript