Laravel Interview Task
Task Descriptions
Task 1: Create a small Laravel application to manage blog posts with the following features:
Migration:
Create a migration to define a posts table with necessary columns.
Model:
Create a Post model and a User model with a one-to-many relationship.
Controller:
Implement methods to list, show, create, update, and delete posts.
Routes:
Define appropriate routes in web.php.
Validation:
Implement validation for post creation and updates.
Error Handling:
Ensure proper handling for missing posts and validation errors.
Submission: Provide a GitHub repository link containing the Laravel project.
Task 2: Queues & Event Broadcasting
Description: Implement the following features in your Laravel application:
Queues:
Implement background email processing using Laravel queues.
Create a queued job to send a welcome email upon user registration.
Event Broadcasting:
Implement event broadcasting using Laravel Echo and WebSockets.
Show real-time notifications when a new post is created.
Submission: Provide a GitHub repository link or a zip file containing the Laravel project, including the code for queued jobs and event broadcasting.
Task 3: Controller Refactoring
Description: Review and refactor a Laravel controller method to enhance validation, security, and performance. Provide a detailed explanation of the changes made.
Improvements to Address:
Implement proper validation for request inputs.
Ensure security measures to prevent issues like mass assignment.
Improve error handling for missing records and validation failures.