Skip to content

Study Journal 09-10-2023

Published: at 12:00 AM

What I learnt

Things I’ve learnt:

DESIGN EVOLUTION - Continue with Flutter, use Compose where possible.

Yeah so Flutter is definitely the way to go for now - we can migrate later if it’s really an issue later on.

DESIGN EVOLUTION - This is the new model. Actually. Please stay on track.

Mapping to Clean Architecture:

Presentation Layer:

Abstraction between Presentation and Logic:

Logic Layer:

Abstraction between Logic and Data:

Data Access Layer:

Abstraction between Data Access and Database:

Database:

Folder Structure - Please use this

my_flutter_app/

├── modules/
│   ├── auth/                         <--- Authentication module
│   │   ├── lib/
│   │   │   ├── app/                  <--- Presentation Layer for Auth
│   │   │   ├── domain/               <--- Logic Layer for Auth
│   │   │   ├── data/                 <--- Data Access Layer for Auth
│   │   │   └── device/               <--- Device Layer for Auth (if needed)
│   │   ├── test/
│   │   └── pubspec.yaml
│   │
│   ├── profile/                      <--- User Profile module
│   │   ├── lib/
│   │   │   ├── app/
│   │   │   ├── domain/
│   │   │   ├── data/
│   │   │   └── device/
│   │   ├── test/
│   │   └── pubspec.yaml
│   │
│   ├── ...                           <--- Other modules

├── shared/                           <--- Shared utilities, widgets, and other common code
│   ├── lib/
│   └── pubspec.yaml

├── lib/
│   ├── main.dart                     <--- Main entry point that stitches modules together

├── pubspec.yaml                      <--- Main project dependencies and metadata
└── ...

Things I NEED to learn:

How the hell am I supposed to join up things I’ve grabbed from sample apps or example code?

That’s all well and great that I can see the capabilities but surely I’m supposed to use this to speed up development time?

Or is it merely a showcase of items of what can be done? Why are all the sample apps so basic?

Consider supporting this blog