This is a CMS Blog built with Laravel.
It includes a full-featured control panel with user role management.
🎥 Recorded Video Demo
📅 Recorded on January 16, 2023
- Laravel Framework 11
- TailwindCSS (front & admin)
- Laravel Policies & Gates
- Laravel Mail
- Laravel Queues (weekly Newsletter)
- Custom Validation Rules
- Comments (Polymorphic relationship)
- One-to-Many & Many-to-Many relationships between models
- Post Views Count using Cookies
- Faker & Database Seeder
- jQuery
- SEO-friendly Slug URLs
- Edit general blog information
- Create / Update / Delete Categories, Posts, Tags, and Custom Pages
- Manage Roles
- Create, Update, and Delete own Posts
- Create, Update, and Delete Tags
Role Name | Role_ID |
---|---|
Admin | 1 |
Writer | 2 |
User | 3 |
A gate filter is applied when logging into the admin panel:
- Admin → full access to manage the blog
- Writer → limited functionality
Method | Endpoint | Description |
---|---|---|
GET | api/categories | Show all categories |
GET | api/categories/{id} | Show all posts inside a category |
GET | api/posts | Show all posts |
GET | api/posts/{id} | Show a specific post |
- PHP >= 8.2
- MySQL (or another supported database)
- Composer
- NodeJS
- Clone the project
- Run
composer install
andnpm install
- Copy
.env.example
to.env
- Run
php artisan key:generate
- Update database credentials in
.env
- Run migrations:
php artisan migrate
- Optionally, run
php artisan db:seed
to populate sample data with Faker
- Optionally, run
- Start the server:
php artisan serve
- Admin URL: http://127.0.0.1:8000/admin
- Email:
admin@example.com
- Password:
password
I am a Backend Developer with 3+ years of experience, specializing in PHP and the Laravel framework. I have expertise in building RESTful APIs, working with MySQL databases, and applying software architecture patterns such as MVC and HMVC.
I also have experience with TailwindCSS for modern, responsive styling and Laravel Livewire for building dynamic, reactive user interfaces. I am committed to writing clean, well-documented, and maintainable code while continuously improving my skills.
I enjoy sharing knowledge through various channels, and I’m always eager to take on new challenges to grow both personally and professionally.
Contributions are always welcome! 🎉
If you’d like to improve this project, feel free to fork the repo and open a pull request.