{"id":26396012,"url":"https://github.com/mooenz/full-stack-open","last_synced_at":"2025-03-17T11:20:24.970Z","repository":{"id":112642509,"uuid":"477837793","full_name":"Mooenz/full-stack-open","owner":"Mooenz","description":"Este repositorio está hecho para agregar las soluciones a los diferentes retos impuestos por el Bootcamp Full Stack Open. www.fullstackopen.com","archived":false,"fork":false,"pushed_at":"2025-01-06T17:55:58.000Z","size":13916,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-06T18:55:27.034Z","etag":null,"topics":["express","grahpql","javascript","nodejs","react-native","react-router","reactjs","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mooenz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-04T19:06:56.000Z","updated_at":"2025-01-06T17:56:01.000Z","dependencies_parsed_at":"2024-12-28T17:38:31.544Z","dependency_job_id":null,"html_url":"https://github.com/Mooenz/full-stack-open","commit_stats":null,"previous_names":["mooenz/full-stack-open"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooenz%2Ffull-stack-open","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooenz%2Ffull-stack-open/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooenz%2Ffull-stack-open/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooenz%2Ffull-stack-open/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mooenz","download_url":"https://codeload.github.com/Mooenz/full-stack-open/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244022657,"owners_count":20385134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","grahpql","javascript","nodejs","react-native","react-router","reactjs","typescript"],"created_at":"2025-03-17T11:20:24.467Z","updated_at":"2025-03-17T11:20:24.963Z","avatar_url":"https://github.com/Mooenz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Full Stack Open 2022**\n\nEste repositorio está hecho para agregar las soluciones a los diferentes retos impuestos por el Bootcamp Full Stack Open 2022\n\n## **Contenido**\n\n- [**Full Stack Open 2022**](#full-stack-open-2022)\n  - [**Part 0: Fundamentos de las aplicaciones web**](#part-0-fundamentos-de-las-aplicaciones-web)\n    - [0.4: Nueva nota](#04-nueva-nota)\n    - [0.5: Aplicación de una sola página](#05-aplicación-de-una-sola-página)\n    - [0.6: Nueva nota spa](#06-nueva-nota-spa)\n  - [**Estado del curso**](#estado-del-curso)\n  - [**Contacto**](#contacto)\n\n## **Part 0: Fundamentos de las aplicaciones web**\n\n### 0.4: Nueva nota\n\nCrear un diagrama similar que describa la situación en la que el usuario crea una nueva nota en la página [https://studies.cs.helsinki.fi/exampleapp/notes](https://studies.cs.helsinki.fi/exampleapp/notes) escribiendo algo en el campo de texto y haciendo clic en el botón submit.\n\n- usuario rellena el input y se enviá la información mediante un botón llamado \"save\".\n- el navegador envía una solicitud post con la información del formulario a la dirección \"exampleapp/new_note\".\n- el servidor guarda la información recibida.\n- el evento submit recarga el navegador realizando una nueva petición al servidor, cargado los archivos notes, main.css y main.js.\n\n```json\nnote over browser:\nclient add new note: \"Hi every one\"\nend note\nbrowser-\u003eserver: HTTP POST https://studies.cs.helsinki.fi/exampleapp/new_note\n\nnote over server:\nserver save a new note\nend note\n\nnote over browser:\nthe POST method reloads browser, generating a new server call\nend note\n\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/notes\nserver--\u003ebrowser: HTML-code\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/main.css\nserver--\u003ebrowser: main.css\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/main.js\nserver--\u003ebrowser: main.js\n\nnote over browser:\nbrowser starts executing js-code\nthat requests JSON data from server\nend note\n\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/data.json\nserver--\u003ebrowser: [{ content: \"HTML is easy\", date: \"2019-05-23\" }, ...]\n\nnote over browser:\nbrowser executes the event handler\nthat renders notes to display\nend note\n```\n\n![respuesta 0.4](./part0/new-note.png)\n\n#### 0.5: Aplicación de una sola página\n\nCree un diagrama que describa la situación en la que el usuario accede a la versión de aplicación de una sola página de la aplicación de notas en [https://studies.cs.helsinki.fi/exampleapp/spa](https://studies.cs.helsinki.fi/exampleapp/spa).\n\n- al realizar una petición el navegador carga el archivo spa y quien tiene la estructura html.\n- dentro de la estructura html se encuentra la petición main.css y spa.js.\n- dentro del código de spa.js se encuentra una petición a \"https://studies.cs.helsinki.fi/exampleapp/data.json\", retornando el archivo data.json\n- el navegador renderiza los datos en el html.\n\n```json\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/spa\nserver--\u003ebrowser: HTML-code\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/main.css\nserver--\u003ebrowser: main.css\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/spa.js\nserver--\u003ebrowser: spa.js\n\nnote over browser:\nbrowser starts executing js-code\nthat requests JSON data from server\nend note\n\nbrowser-\u003eserver: HTTP GET https://studies.cs.helsinki.fi/exampleapp/data.json\nserver--\u003ebrowser: [{\" content\":\"make american great again!\",\"date\":\"2022-05-10T14:31:13.201Z\"}...]\n\nnote over browser:\nbrowser executes the event handler\nthat renders notes to display\nend note\n```\n\n![respuesta 0.5](./part0/spa.png)\n\n#### 0.6: Nueva nota spa\n\nCree un diagrama que represente la situación en la que el usuario crea una nueva nota utilizando la versión de una sola página de la aplicación.\n\n- usuario rellena el input y se enviá la información mediante un botón llamado \"save\".\n- el navegador renderiza la nueva nota sin recargarse, esta es una propiedad que tiene las spa.\n- el navegador enviá una solicitud post con la información del formulario a la dirección \"exampleapp/new_note_spa\".\n- el servidor guarda la información recibida.\n- el servidor retorna un mensaje de repuesta \"note created\".\n\n```json\nnote over browser:\nspa.js add a new note in notes array, then added to the \u003cul\u003e node\nend note\n\nbrowser-\u003eserver: HTTP POST https://studies.cs.helsinki.fi/exampleapp/spa\nserver--\u003ebrowser: {\"message\":\"note created\"}\n```\n\n## **Estado del curso**\n\n| Parte | Estado |\n| ----- | ------ |\n| 0     | ☑️     |\n| 1     | ☑️     |\n| 2     | ⬛     |\n| 3     | ⬛     |\n| 4     | ⬛     |\n| 5     | ⬛     |\n| 6     | ⬛     |\n| 7     | ⬛     |\n| 8     | ⬛     |\n| 9     | ⬛     |\n\n## **Contacto**\n\n- Website [mooenz.me](https://www.mooenz.me/)\n- GitHub [@mooenz](https://github.com/Mooenz)\n- Twitter [@mooenzdev](https://twitter.com/MooenzDev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooenz%2Ffull-stack-open","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmooenz%2Ffull-stack-open","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooenz%2Ffull-stack-open/lists"}