Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Highlights from the Flare codebase (laracon AU)
Search
Freek Van der Herten
October 31, 2019
Technology
0
320
Highlights from the Flare codebase (laracon AU)
Freek Van der Herten
October 31, 2019
Tweet
Share
More Decks by Freek Van der Herten
See All by Freek Van der Herten
Uncharted packages (Laravel Live Denmark)
freekmurze
0
180
I shall define this only once
freekmurze
0
370
An Introduction to Snapshot testing
freekmurze
0
460
Event Sourcing In Laravel
freekmurze
0
230
Building a realtime dashboard with Laravel Livewire (PHPKonf)
freekmurze
0
760
A tour behind the scenes of Oh Dear (PHP Benelux)
freekmurze
2
820
A practical look at multitenancy in Laravel
freekmurze
1
330
A practical look at multitenancy in Laravel (Laracon US)
freekmurze
0
700
Highlights Flare codebase (Laracon online)
freekmurze
0
460
Other Decks in Technology
See All in Technology
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
530
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
200
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
270
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
0
130
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
150
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
210
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
140
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
580
表現を育てる
kiyou77
1
210
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.7k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fireside Chat
paigeccino
34
3.2k
RailsConf 2023
tenderlove
29
1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Being A Developer After 40
akosma
89
590k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Statistics for Hackers
jakevdp
797
220k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
None
About me Freek Van der Herten Partner & developer at
Spatie @freekmurze freek.dev flareapp.io ohdear.app
Open source stats ± 250 packages on Packagist ± 50,000,000
total downloads ± 3 000,000 downloads a month spatie.be/open-source/packages
Highlights from the Flare codebase
A way to structure a large Laravel app
Take a look at the Flare codebase Not a sales
talk Techniques you can use in your own projects Opinionated
Short walkthrough of the UI Domains Inertia / React /
TypeScript
Let's take a look at Flare
Using domains
Using domains Term taken from DDD A sphere of knowledge
Grouping code Larger projects
Refactor to domains app/ ├── Models/ │ ├── User.php │
├── Team.php │ └── Project.php ├── Mails/ │ ├── Welcome.php │ ├── InvitedToTeam.php │ └── ApiKeyRegenerated.php └── Events/ ├── UserDeleted.php └── Project.php
Refactor to domains app/ └── Domain/ ├── Team └── Project
Show me the code
Front end
Front end “I strongly believe JavaScript is a requirement for
excellent user experiences. Not good experiences, excellent experiences.” —Seb
Front end: JavaScript Inertia Built by Jonathan Reinink Replace Blade
by React (or Vue or whatever) Makes server client communication seamless No full pages refreshes
public function index(Team $team) { return view('team.settings', collect('team')); }
public function index(Team $team) { return inertia()->render('team.settings', collect('team')); }
Show me!
In closing
Using domains stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel freek.dev/1371-refactoring-to-actions freek.dev/1433-supercharging-common-controllers
Front end inertiajs.com typescriptlang.org freek.dev/1391-how-to-handle-front-end-authorization-using- laravel-inertia-and-typescript
Thank you! speakerdeck.com/freekmurze/highlights-flare-codebase spatie.be/open-source freek.dev flareapp.io ohdear.app