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
380
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
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
140
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
300
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
150
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
340
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
270
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
850
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
150
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
130
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
180
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
7
930
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
140
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
A better future with KSS
kneath
238
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
GitHub's CSS Performance
jonrohan
1030
460k
Why Our Code Smells
bkeepers
PRO
336
57k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
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