Slide 1

Slide 1 text

Build Full-Stack Dart Application Jhin Lee, S/W Developer @Unity

Slide 2

Slide 2 text

Jhin Lee Full-Stack Developer @Unity | GDG & Flutter Montreal Organizer ● Full Stack Developer (Android, iOS, Flutter, Web, DevOps or anything!) ● 10yr+ Android and Embedded System Engineer (AOSP, Linux Kernel, HAL, etc.) ● Scrum Master (PSM2) ● https://www.linkedin.com/in/leehack/

Slide 3

Slide 3 text

Agenda 1 2 3 4 5 Why full-stack in Dart? What do we build? Global Architecture Project Structure Reset APIs 6 Let’s Code!

Slide 4

Slide 4 text

One Programming Language Share codes between Backend and Frontend Flutter (and Dart Frog!) It’s easy and fun! Performance??? + + + Why Full Stack in Dart? + +

Slide 5

Slide 5 text

So, What will we build today?

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Global Architecture ● Frontend in Flutter ● Backend in Dart Frog ● Shared package in pure Dart

Slide 8

Slide 8 text

Project Structure Mono repo ● Frontend Flutter Codes in /packages/frontend_flutter ○ Flutter UI and REST API Client ● Backend Dart Frog Codes in /packages/backend_frog ○ Dart Frog REST API Server ● Shared library in /packages/todo ○ Data Model ○ Repository Interface Frontend and Backend uses the Shared library as a dependency.

Slide 9

Slide 9 text

REST APIs ● /todos ○ POST - Add a new todo ○ GET - Get all todo list ● /todos/:id ○ GET - Get a todo by id ○ PUT - Update a todo ○ DELETE - Delete a todo by id

Slide 10

Slide 10 text

Let’s Code! Dart Frog Flutter Docker Melos Riverpod

Slide 11

Slide 11 text

References ● Article for more detail - https://dev.to/leehack/lets-build-a-full-stack-dart-app-36lm ● Dart Frog Website - https://dartfrog.vgv.dev/ ● Melos Website - https://melos.invertase.dev/ ● Riverpod Website - https://riverpod.dev/

Slide 12

Slide 12 text

Questions?

Slide 13

Slide 13 text

Thank you!