Learning Laravel and want to build your first project? I suggest a task I call "Mini CRM" to manage projects/clients/tasks with simple CRUD.
In this tutorial, you will find four things:
- Task description
- Long 1-hour video of me live-coding the solution
- Shorter 10-minute video version of "What you need to know" (for Premium members)
- Link to the GitHub repository (for Premium members)
Task Description
This is the task I'm suggesting for beginners of Laravel.


Intro
- Install Laravel and Laravel Breeze starter kit
- Use plain Blade, no Vue/Livewire is needed in this project
Manage Users
- Change column
users.nameinto separatefirst_nameandlast_name - Use SoftDeletes in all Models
- CRUD for managing users
- Use pagination in this and all other CRUDs
- Seed 10 "fake" users for testing
Introduce Roles
- Install the Spatie Laravel Permission package
- Seed two roles: "admin" and "user"
- Seed one Admin user, Breeze registration should add users with "User" role
- The "Users" CRUD from above should be available only to Admin user
Three More CRUDs
Create three more CRUDs, here are their DB columns:
Clients (all columns are string)
- contact_name
- contact_email
- contact_phone_number
- company_name
- company_address
- company_city
- company_zip
- company_vat
Projects
- title (string)
- description (text)
- user_id (foreign key)
- client_id (foreign key)
- deadline_at (date)
- status: one of the options of 'open', 'in progress', 'blocked', 'cancelled', 'completed'
Tasks
- title (string)
- description (text)
- user_id (foreign key)
- client_id (foreign key)
- project_id (foreign key)
- deadline_at (date)
- status: one of the options of 'open', 'in progress', 'pending', 'waiting client', 'blocked', 'closed'
Create Factories and Seeders for all those tables, seed 20-50 fake records.
Introduce Permissions: The Admin role can manage everything, and the User role can see all entries and create/update them but NOT delete them.
Longer 1-hour Live-Coding Video
So, I've coded this project and decided to release two videos: a longer one for free on YouTube and a quick rundown of "only things you need to know" for Premium members.
Here's the link to the YouTube video.
Quick 10-minute Rundown Video
This shorter video and the repository link are available only for Premium members.
Premium Members Only
This advanced tutorial is available exclusively to Laravel Daily Premium members.
Already a member? Login here
Premium membership includes:
Comments & Discussion
I have a lifetime membership but i can't see the 10 min video. Instead of the video it says: Sorry Because of its privacy settings, this video cannot be played here.
Thank you. This short form vid is quite convinent.