ArtisanTinkerer.github.io

Blog

View on GitHub

Modelling business requirements with Eloquent.

The Ugly

Case Study

** Domain-Driven Eloquent

Level up with a Microservices architecture

Douglas Reith

https://www.youtube.com/watch?v=iAKfq4uJrBY&list=PLEkJYA4gJb7_FKspNTgrve7FUb3A1dT3y&index=9

Why?

Design MA -> Deploy as a Monolith

How?

Patterns that pay off

Matt Stauffer https://www.youtube.com/watch?v=FNyUX2jVMeE&list=PLEkJYA4gJb7_FKspNTgrve7FUb3A1dT3y&index=12

Preventative Patterns

Do this on every app no matter what.

Reactive Patterns

Feel/see the pain, then choose the fix There is a need.

**Problem: we just use patterns without first identifying a need ** We just want to use the favourite tool.

** Don’t do stuff you don’t need **

** Cost of change ** Well written code minimises the cost of change.

Write code that is easy to delete.

Matt’s Patterns

Process

Architecture

(Re)factoring

No precogs

Codebase Consistency

Everyone writes code the same way

Four Eyes

Architecture Patterns

Monolith First

Seeds not dumps

Test to save your job

(Re)factoring patterns 26:37

View Data Composition

Presenter - layer on top of model (like decorator for views) 36 mins in

View Model - takes data in and exports the way you want

Responsible - interface for an object which can be converted into a response

View components -

Slides available here:

https://mattstauffer.com/talks/

Abusing Laravel for Fun and Profit

https://www.youtube.com/watch?v=dd-iHhmSi2k&index=8&list=PLEkJYA4gJb7_FKspNTgrve7FUb3A1dT3y

Front End Filters

Filtering in controllers

Pipeline

Feature tests powered by seeders

Arrange -> Act -> Assert Don’t keep with the other seeders.

Form Requests for Database Access

Understanding git

Anwesha Chatterjee https://www.youtube.com/watch?v=ofVcPhK2oYU&list=PLEkJYA4gJb7_FKspNTgrve7FUb3A1dT3y&index=6

git log --graph -- oneline --all

git reflog

Try rebasing: git rebase master

Building a complex product while scaling a team and a business on Laravel

https://www.youtube.com/watch?v=eef3Pnxc5A0&index=5&list=PLEkJYA4gJb7_FKspNTgrve7FUb3A1dT3y

29:48