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 (Full Stack ...
Search
Freek Van der Herten
November 13, 2019
Programming
750
0
Share
Highlights from the Flare codebase (Full Stack Ghent)
Freek Van der Herten
November 13, 2019
More Decks by Freek Van der Herten
See All by Freek Van der Herten
Uncharted packages (ode aan de code)
freekmurze
0
62
Uncharted packages (Laravel Live Denmark)
freekmurze
0
250
I shall define this only once
freekmurze
0
480
An Introduction to Snapshot testing
freekmurze
0
560
Event Sourcing In Laravel
freekmurze
0
280
Building a realtime dashboard with Laravel Livewire (PHPKonf)
freekmurze
0
860
A tour behind the scenes of Oh Dear (PHP Benelux)
freekmurze
2
910
A practical look at multitenancy in Laravel
freekmurze
1
400
A practical look at multitenancy in Laravel (Laracon US)
freekmurze
0
780
Other Decks in Programming
See All in Programming
t *testing.T は どこからやってくるの?
otakakot
1
710
Kingdom of the Machine
yui_knk
2
810
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
150
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
290
Vibe NLP for Applied NLP
inesmontani
PRO
0
460
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
1k
Programming with a DJ Controller — not vibe coding
m_seki
3
140
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
590
実用!Hono RPC2026
yodaka
2
250
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
3
990
10 Tips of AWS ~Gen AI on AWS~
licux
5
450
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
280
Featured
See All Featured
Visualization
eitanlees
150
17k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
170
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
430
30 Presentation Tips
portentint
PRO
1
280
Evolving SEO for Evolving Search Engines
ryanjones
0
180
Everyday Curiosity
cassininazir
0
200
Google's AI Overviews - The New Search
badams
0
980
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
280
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
900
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
Transcript
None
About me Freek Van der Herten Partner & developer at
Spatie @freekmurze freek.dev mailcoach.app flareapp.io ohdear.app
Open source stats ± 250 packages on Packagist ± 3,500,000
downloads a month ± 50,000,000 total downloads spatie.be/open-source/packages
spatie.be/open-source
spatie.be/open-source/postcards
Our address SPATIE Samberstraat 69D BE-2060 Antwerp Belgium Europe
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 the code!
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-fullstack spatie.be/open-source freek.dev mailcoach.app flareapp.io ohdear.app