Preparation
  • Requirements for Laravel
Installation and first steps
  • Laravel installation
  • Initialize Git
  • Change starting page
Frontend and Login Setup
  • Laravel UI => Frontend Framework and Login Scaffolding
  • Integrate your own CSS and JavaScript
  • Install Font Awesome
  • Connect the database and first migration
  • Create and output a user
  • Test "Remember me" and "Forgot your password"
  • Unescape Output Example
  • Create static pages and navigation highlight
  • Template system for views + page title / page description
  • Recap of what you learned so far
Database queries (CRUD)
  • Section introduction: What you will learn
  • MVC + make:model -a, Naming conventions
  • Migration for hobbies table
  • Routing to functions and usage of placeholders
  • Resource route to HobbyController
  • Retrieve Hobbies and add navigation for hobbies
  • Output / Display the hobbies (index method)
  • Form for new hobbies (create method)
  • Save new hobbies
  • Server-side validation of Laravel with validate()
  • Validation: Error of all fields
  • Validation: Error of individual fields
  • Output success messages
  • Detailed view of data records with show()
  • Edit records with edit()
  • Update records with update()
  • Delete records with destroy()
  • Cheat Sheet + Challenge: CRUD for tags
  • Exercise Solution: CRUD for Tags
Database relationships
  • Database design and planning
  • Migrate additional field (user_id in hobbies table)
  • m:n Create intermediate table hobby_tag (pivot table)
  • migrate: fresh for faster workflow. When to use it and WHEN NOT
  • Static value seeder (tags table)
  • Faker to seed 100 users
  • Use each() to seed the linked database tables
  • Link models with Eloquent Relationships
  • Test the relationships in Laravel Tinker
  • Tinker and Collection examples + deeper insight ;-)
Data output and data linking
  • Pagination + URL :: previous()
  • Insert user_id with auth->id() when creating hobbies
  • Sort DB query results with orderBy / diffForHumans (Carbon)
  • $hobby->user->name + count() to display the number of hobbies
  • Install and use the Laravel debug bar to show SQL queries
  • Output of the tags in the hobbies with "Bootstrap badges"
  • Challenge: User detail page
  • Challenge solution
  • Filter hobbies by tag (hobbyTagController)
  • Custom Error page (e.g. 404)
  • Assign tags to hobbies (or remove) with attach() / detach()
  • Tag statistics
  • Improve hobby creation workflow
  • Show my hobbies on home page (select () ->)
  • Challenge: Show hobbies on user detail page
  • Show hobbies on user page: Exercise solution
  • Recap and cheat sheet
Image upload
  • Image upload introduction
  • Prepare frontend for images
  • Install Lightbox2
  • Install Intervention Image
  • Validate file input and upload the file
  • Determine the orientation of the picture
  • Convert and save images
  • Outsource image calculation into function
  • Display the images
  • Image delete function
  • Exercise: edit user and user picture
  • Resolution: User model and user controller (part 1)
  • Resolution: User edit (part 2)
  • Resolution: Output user images (part 3)
  • Git Merge, Image Upload Recap, Outlook
User authorization in Laravel
  • Section Introduction
  • Plan the user rights
  • Control guests with the Auth() middleware
  • Apply Auth() middleware to the rest of the controllers
  • Middleware explained
  • Switch app to “production” to prevent migrate:fresh
  • Create admin middleware and use it for the tags
  • Set up policies (make only your own data records editable)
  • Apply hobby policy
  • Apply user policy
  • Control buttons in the frontend with @can
  • Gates to control the assignment of the tags