Skip to content

Study Journal 28-09-2023

Published: at 12:00 AM

What I learnt

Things I’ve learnt:

DEVELOPMENT - Testing Framework

I have to make sure that I’m doing the following for each module that we are developing:

It would worth spending time to go through a workflow template for each module.

POTENTIAL MODULES - Pipe dream?

Would be useful to determine if these potential modules could work:

UPDATED - Working back-to-front or Who’s Layer Is It Anyway?

So yesterday’s post - I thought that layers worked in this way:

  1. Back-end architecture (database)
  2. Back-end providers (data fetchers)
  3. Back-end controllers & API (data source helpers or endpoints)
  4. Front-end business logic / state or data updaters / handlers (handlers)
  5. Front-end design / presenation layer

No turns out I’ve been wrong, it’s actually more like this (going from top-most layer first to lowest layer):

  1. Presentation Layer - Determines how thinks look, and how the user interacts with the app
  2. Abstraction between Presentation and Logic - Abstractions that define what actions the UI can request but not how they’re executed.
  3. Logic Layer - It decides what to do based on user input, processes data, and determines what data to fetch or store
  4. Abstraction between Logic and Data - Abstractions that define what data operations can be performed but not how they are executed.
  5. Data Access Layer - This is how we interact with information for use in the application
  6. Abstraction between Data Access and Database - Not needed for us for the App because of Firestore, but often required in traditional set-ups. Same idea, determines what can happen but not how it happens.
  7. Database - This is where actual storage of the data is kept.

A good way of conceptualising these abstractions is “Need to know basis”. What information does this layer require from the others?

Consider supporting this blog