diff --git a/README.md b/README.md index e69de29..a66b4f2 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,3 @@ +# Full Stack Open Notes + +My notes and other stuff for this course: https://fullstackopen.com diff --git a/parts/0/exercise0.4. b/parts/0/exercise0.4. new file mode 100644 index 0000000..e69de29 diff --git a/parts/0/notes.md b/parts/0/notes.md new file mode 100644 index 0000000..cac8ec0 --- /dev/null +++ b/parts/0/notes.md @@ -0,0 +1,107 @@ +> Writing HTML amid the code is of course not smart, but for old-school PHP programmers, it was a normal practice. + +Lol + +I need to do the exercises 0.1.-0.6. here: https://fullstackopen.com/en/part0/fundamentals_of_web_apps +* [X] 0.1 +* [X] 0.2 +* [X] 0.3 +* [X] 0.4 +* [X] 0.5 +* [X] 0.6 + +## exercise 0.4 + +```mermaid +sequenceDiagram + participant browser + participant server + + Note left of browser: User fills in form and clicks on submit button. + + browser->>server: POST https://studies.cs.helsinki.fi/exampleapp/new_note + activate server + server->>browser: 302 Redirect to https://studies.cs.helsinki.fi/exampleapp/notes + deactivate server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/notes + activate server + server-->>browser: HTML document + deactivate server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/main.css + activate server + server-->>browser: the css file + deactivate server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/main.js + activate server + server-->>browser: the JavaScript file + deactivate server + + Note right of browser: The browser starts executing the JavaScript code that fetches the JSON from the server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/data.json + activate server + server-->>browser: [{ "content": "HTML is easy", "date": "2023-1-1" }, ... ] + deactivate server + + Note right of browser: The browser executes the callback function that renders the notes, including the new note. +``` + +## exercise 0.5 + +```mermaid +sequenceDiagram + participant browser + participant server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/spa + activate server + server-->>browser: HTML document + deactivate server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/main.css + activate server + server-->>browser: the css file + deactivate server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/spa.js + activate server + server-->>browser: the SPA JavaScript file + deactivate server + + Note right of browser: The browser starts executing the JavaScript code that fetches the JSON from the server + + browser->>server: GET https://studies.cs.helsinki.fi/exampleapp/data.json + activate server + server-->>browser: [{ "content": "HTML is easy", "date": "2023-1-1" }, ... ] + deactivate server + + Note right of browser: The browser executes the callback function that renders the notes. +``` + +## exercise 0.6 + +* browser fills in data and triggers form submission +* browser renders the new note without talking to the server +* browser sends POST request to `/new_note_spa` +* server returns 201 created +* browser logs the response to console + +```mermaid +sequenceDiagram + participant browser + participant server + + Note right of browser: Form gets filled and submission button gets triggered. + + Note right of browser: The browser updates the in-memory notes array and renders again all notes, before talking to the server at all. + + browser->>server: POST https://studies.cs.helsinki.fi/exampleapp/new_note_spa + activate server + server-->>browser: 201 Created with JSON success message. + deactivate server + + Note right of browser: browser logs to console the server's response text. +```