This project demonstrate the blogging features like
-
View All the post (Guest)
-
View single post (Guest)
-
Search Post (Guest)
-
Sort by latest and oldest post (Guest)
-
Add new post (Author)
-
Edit post (Admin)
-
Delete post (Admin)
-
Import posts from given url (Admin)
-
Note: Don't forget to start artisan command before importing posts, please use database or other queue driver
php artisan queue:work
Import format
{ "data": [ { "title": "Title", "description": "Description", "publication_date": "2021-10-06 03:00:13" }, { ...n } ] }
-
##How to run?
- Database name "blogging"
- php artisan migrate
- php artisan db:seed
- Default password for admin => "secret"
- Default password for author/editor => "secret"
- You can use artisan cache command to improve performance,
- Use Redis cache driver(For production)
- php artisan config:cache
- php artisan route:cache
- php artisan queue:work
- Running test
- php artisan test
-
Repository Pattern (Only in home page to list guest's posts)
-
Policy and custom policy methods, also used authorization Blade directives to check ability
-
Service providers to import posts
-
Laravel queued jobs
-
Scoped queries and eloquent relations
-
Separate admin routes file
-
Route model binding
-
Resource controller (for an admin, routes/admin.php)
-
Custom Form request to validate all the incoming http request
-
Custom validation Rules (We can also achieve this using middleware)
-
Customized(Updated/newly added) Service provider
-
Custom Helper
-
Constants
-
API Client Helper
-
Factories
-
Laravel Blade
-
Guest Views
-
Admin Views
-
Authentication Views
Note: Used default authentication provided by Laravel, system have only two roles, author/admin
open-sourced software licensed under the MIT license.