Skip to main content
Explore
Log in
Get started
Someone wanted to learn this too, so Grasp built them a personal learning path.
Create your own
Master Laravel, optimized database queries
Module 1
Laravel Fundamentals & Service Container
1
Laravel Request Lifecycle & Service Container
Explain the Laravel request lifecycle and the role of the Service Container.
2
Accessing Services: Facades, Helpers, and DI
Differentiate between Facades, helper functions, and dependency injection for accessing services.
3
Dependency Injection Basics
Bind and resolve services from the container manually and using automatic injection.
4
Advanced Routing Techniques
Implement advanced routing patterns including route model binding customization and rate limiting.
5
Form Requests for Validation
Organize controller logic using Form Requests for validation.
6
Custom Exception Handling
Implement custom exception handling for application-specific errors.
Module 2
Database Schema Design & Migrations
7
Database Normalization: 1NF, 2NF, and 3NF
Explain the principles of database normalization (1NF, 2NF, 3NF).
8
Database Schema Design and Normalization
Design a normalized database schema for a given application specification.
9
Laravel Migrations: Schema Management
Create and manage database schema using Laravel migrations.
10
Managing Foreign Keys and Indexes in Migrations
Define foreign key constraints and indexes within migrations.
11
Database Seeding with Factories and Seeders
Seed the database with realistic test data using model factories and seeders.
Module 3
Advanced Eloquent ORM
12
Eloquent Accessors, Mutators, and Attribute Casting
Apply accessors, mutators, and attribute casting to transform model data.
13
Query Scopes: Local and Global
Implement local and global query scopes to create reusable query constraints.
14
Polymorphic Associations: Flexible Data Structures
Define and query polymorphic relationships for flexible data structures.
15
Advanced Subqueries & Relationship Queries
Utilize subqueries and advanced relationship queries (whereHas, withCount) for complex lookups.
16
N+1 Query Problem: Eager Loading with 'with'
Identify the N+1 query problem and resolve it using eager loading ('with').
17
Optimizing Eloquent Queries with Constrained Eager Loading
Use constrained and nested eager loading for optimizing complex relationship queries.
18
Implementing Soft Deletes
Implement soft deletes to manage non-destructive record removal.
Module 4
MSSQL Integration & Query Building
19
Connecting Laravel to MSSQL
Configure a Laravel application to connect to a Microsoft SQL Server (MSSQL) database.
20
Advanced SQL Queries: JOINs, GROUP BY, and Window Functions
Write complex SELECT queries in MSSQL using JOINs, GROUP BY, and window functions.
21
Eloquent Beyond Raw SQL: Mastering Query Builder
Translate complex SQL queries into Laravel's Query Builder syntax.
22
Secure Raw SQL in Laravel
Execute raw SQL queries securely within Laravel when necessary.
23
Eloquent vs. Query Builder vs. Raw SQL: Choosing the Right Tool
Evaluate the trade-offs between using Eloquent ORM, the Query Builder, and raw SQL.
Module 5
Database Performance & Optimization
24
SQL Execution Plan Analysis
Analyze MSSQL query performance using execution plans to identify bottlenecks.
25
Optimizing Query Performance with Clustered and Non-Clustered Indexes
Create and manage clustered and non-clustered indexes to optimize query speed.
26
Optimizing Table Scans with Indexing
Resolve inefficient table scans by applying appropriate indexing strategies.
27
Optimizing MSSQL Queries for Sorting, Filtering, and Aggregation
Optimize queries involving sorting, filtering, and aggregation in MSSQL.
28
Efficient Data Processing with Chunking and Cursors
Process large datasets efficiently using 'chunkById' and 'cursor' methods.
29
Optimizing Queries with Caching
Implement query caching to reduce database load on frequently executed queries.
Module 6
API Development: Resources & Versioning
30
Building API Resources for Standardized JSON Responses
Build API Resource classes to control and standardize JSON responses.
31
Formatting Paginated and Grouped Data with Resource Collections
Use Resource Collections to format paginated and grouped data.
32
Conditional Attributes & Relationships in API Resources
Conditionally include attributes and relationships in API resources.
33
URI-Based API Versioning with Route Groups
Implement a URI-based API versioning strategy using route groups.
34
Documenting APIs with Swagger/OpenAPI
Generate API documentation from code using Swagger/OpenAPI standards.
Module 7
API & Web Application Security
35
Secure Password Storage in Laravel
Implement secure password storage using Laravel's hashing mechanisms.
36
Securing Laravel: ORM & Blade for XSS and SQLi Prevention
Explain how Laravel's ORM and Blade templating help prevent SQL Injection and XSS attacks.
37
Implementing CSRF Protection for Web Routes
Implement Cross-Site Request Forgery (CSRF) protection for web routes.
38
Configuring CORS for Your API
Configure Cross-Origin Resource Sharing (CORS) for your API.
39
API Rate Limiting and Throttling
Apply API rate limiting and throttling to prevent abuse.
Module 8
Authentication & Authorization
40
Breeze-Powered Session Authentication
Implement session-based authentication for web applications using a starter kit like Breeze.
41
Laravel Sanctum for API Authentication
Implement token-based authentication for stateless APIs using Laravel Sanctum.
42
Implementing Authorization with Gates
Define authorization rules for users using Gates.
43
Organizing Authorization with Policies
Create and register Policies to organize authorization logic for specific models.
44
User Authorization in Controllers and Blade
Authorize user actions within controllers and Blade templates.
Module 9
Background Processing with Queues
45
Asynchronous Job Processing
Create and dispatch jobs to be processed asynchronously.
46
Queue Driver Configuration and Usage
Configure and use different queue drivers, such as 'database' and 'Redis'.
47
Running Queue Workers
Run queue workers to process jobs from the queue.
48
Handling and Retrying Failed Jobs
Implement strategies for handling and retrying failed jobs.
49
Queueing Background Tasks
Offload long-running tasks like sending emails or notifications to a queue.
50
Queueing Large File Uploads and Data Imports
Process large file uploads and data imports using queued jobs.
Module 10
Real-Time Applications with Events & Broadcasting
51
Event Handling: Creating and Dispatching Events
Create and dispatch application events with corresponding listeners.
52
Eloquent Observers: Auto-Dispatching Events
Use Eloquent observers to automatically dispatch events on model lifecycle hooks.
53
Laravel WebSocket Broadcasting Configuration
Configure Laravel for broadcasting events over WebSockets.
54
Broadcasting to Channels
Broadcast events to public and private channels.
55
Listening for Broadcasted Events with Laravel Echo
Configure Laravel Echo on the frontend to listen for broadcasted events.
56
Dynamic UI Updates with Event Handling
Update a UI component dynamically in response to a received event.
Module 11
Production-Ready Testing
57
Understanding Testing Types: Unit, Feature, and Integration
Differentiate between unit, feature, and integration tests.
58
Testing API Endpoints with Feature Tests
Write feature tests for API endpoints, asserting status codes and JSON structure.
59
Unit Testing Fundamentals
Write unit tests for individual classes and methods, isolating their logic.
60
Transactional Testing with Factories
Test database interactions using transactions and factories to ensure a clean test state.
61
Mocking External Services in Tests
Use mocks and fakes to simulate dependencies and external services in tests.
62
Running Tests with PHPUnit/Pest
Configure and run a full test suite using PHPUnit or Pest.