Laravel 11 Mini-CRM for Beginners: Video + Repository

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.name into separate first_name and last_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.

The full tutorial [3 mins, 409 words] is only for Premium Members

Login Or Become a Premium Member for $129/year or $29/month
What else you will get:
  • 68 courses (1183 lessons, total 43 h 18 min)
  • 90 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord

Recent New Courses