Welcome
![]() | ![]() |
An example of a client/server [Flutter] / [NestJS]
created by Anthropic’s AI Claude, reviewed by Serge Tahé - September 2026
This document is a translation of the original French version, generated using an automated tool. Some expressions or technical terms may not fully reflect the original meaning.
This course offers a mobile version of RdvMedecins, a doctor’s appointment-booking application: a Flutter client, written in Dart, that relies on a NestJS server exposing a JSON API protected by JWT authentication (ADMIN / USER roles).
It begins with setting up the working environment (Visual Studio Code, Flutter SDK, Android Studio, Android phone and emulator, flutter doctor), then installing the NestJS server, used here as a black box: you run it and test it, without studying its code.
It then introduces Flutter (widgets, StatelessWidget and StatefulWidget, state management with provider), studies the application’s client file by file, and ports the same source code to three families of targets: mobile (Android, iOS), desktop (Windows, macOS, Linux) and web, with the pitfalls specific to mobile.
The course is aimed at readers who already know a web framework (Angular, React or Vue.js) and discover Flutter by comparison: each Flutter concept is related to its equivalent in these frameworks. The basics of the Dart language are presented in the course Introduction to the Dart Language Through Examples.
The same application is built with web clients in the Angular / NestJS, React / NestJS and Vue.js / NestJS courses. To learn Flutter from small examples, see the course Step-by-Step Introduction to the Flutter Mobile Framework.

