Flutter TDD Clean Architecture Course [1] – Explanation & Project Structure

Reso Coder · 316K views · 2019 · 24:36

Open on YouTube

Software architecture & designTesting, debugging & developer toolsWeb developmentcoursedated

Why Stack Overflow recommends it

Stack Overflow users link it when answering Flutter questions about structuring code, separating business logic from UI, and applying clean architecture or SOLID principles.

Recommended by 2 people across 2 different months, 2020 to 2022.

What it is

The first episode of Reso Coder's Flutter TDD and Clean Architecture course. It explains why layered, test-driven design matters in Flutter, introduces Uncle Bob's clean architecture ideas, and sets up the project structure for the rest of the series.

What people said

Recommends DennisSzymanski · 2020-01 · Stack Overflow · on “How to implement an API call linked to a Provider using SOLID principles in a Flutter app?”

One of the best tutorials on this topic in flutter (in my opinion) can be found here: [LINK] There is also a written series [LINK] and a 7 hour [this video] of this: Here is the architectur proposal: [LINK]

Recommends Mohan Sai Manthri · 2021-08 · Stack Overflow · on “How to display Nested api data using model class in listview in Flutter?”

Use any architecture pattern or state management, It will help you how to keep code tidy and separated and pass data between them, you can watch this playlist from resocoder. [this video]

Cites Matthew Trent · 2022-09 · Stack Overflow · on “Can you share models between features with clean architecture?”

I'm assuming you're following the ResoCoder [this video] course. I did too. I used that design in our team for a few weeks before realizing there soon become problems with it (which ResoCoder himself realizes if you check the Github issues and responses for his repo): Sharing between features doesn't work well. It's hard to have functionality split between multiple features. Not well organized with a lot of code. Some more which I forget off the top of my head (He wrote some article on the failing of it somewhere). Hence, for my team's app (getting quite complex now), we've adapted this which seems to work: ( ignore the 2 \core directories, that's by mistake. There's meant to be only 1 ) [LINK] T