{"id":26871738,"url":"https://github.com/eocode/flask_taskapp","last_synced_at":"2025-08-17T20:10:47.336Z","repository":{"id":126329335,"uuid":"252838416","full_name":"eocode/Flask_TaskApp","owner":"eocode","description":"Organize your task easy with this web app in Python and Flask","archived":false,"fork":false,"pushed_at":"2023-05-01T21:37:38.000Z","size":748,"stargazers_count":4,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T07:07:35.586Z","etag":null,"topics":["flask","project","python","software","software-engineering"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eocode.png","metadata":{"files":{"readme":"Docs/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,"zenodo":null}},"created_at":"2020-04-03T20:49:41.000Z","updated_at":"2025-02-16T16:44:01.000Z","dependencies_parsed_at":"2023-06-16T08:00:10.654Z","dependency_job_id":null,"html_url":"https://github.com/eocode/Flask_TaskApp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eocode/Flask_TaskApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eocode%2FFlask_TaskApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eocode%2FFlask_TaskApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eocode%2FFlask_TaskApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eocode%2FFlask_TaskApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eocode","download_url":"https://codeload.github.com/eocode/Flask_TaskApp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eocode%2FFlask_TaskApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270899582,"owners_count":24664720,"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","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["flask","project","python","software","software-engineering"],"created_at":"2025-03-31T07:30:36.418Z","updated_at":"2025-08-17T20:10:47.262Z","avatar_url":"https://github.com/eocode.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python - Flask \u003c!-- omit in toc --\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/flask.png\"\u003e\n  \u003csmall\u003e\u003cp\u003eFlask Logo\u003c/p\u003e\u003c/small\u003e\n\u003c/div\u003e\n\n- [Fundamentos](#fundamentos)\n  - [Aplicaciones web](#aplicaciones-web)\n    - [Ventajas](#ventajas)\n  - [¿Qué es Flask?](#%c2%bfqu%c3%a9-es-flask)\n  - [Request y Response](#request-y-response)\n- [Templates](#templates)\n  - [Hot reload](#hot-reload)\n- [Extensiones](#extensiones)\n  - [Flask-Bootstrap4](#flask-bootstrap4)\n  - [Desarrollo](#desarrollo)\n- [Códigos de estado HTTP](#c%c3%b3digos-de-estado-http)\n- [Protección CSRF](#protecci%c3%b3n-csrf)\n- [Bases de datoy y App Engine con Flask](#bases-de-datoy-y-app-engine-con-flask)\n  - [Bases de datos SQL](#bases-de-datos-sql)\n  - [Bases de datos NoSQL](#bases-de-datos-nosql)\n    - [DataStore](#datastore)\n\n# Fundamentos\n\n## Aplicaciones web\nFlask permite procesar un aplicación web en una red de servidores. Estos servidores unen su poder de procesamiento con el fin de transmitir solicitudes a todo el mundo.\n\nEl servidor procesa la información obtenida por el navegador, luego realiza procedimientos de acuerdo a la lógica de negocio para que está sea enviada de regreso al cliente que la solicito.\n\n### Ventajas\n* Muchas de las aplicaciones web que existen son gratuitas\n* Puedes acceder a tu información en cualquier momento y lugar\n* No dependes de un dispositivo específico ya que la aplicación se encuentra almacenada en la web\n\n## ¿Qué es Flask?\nEs un microframework, su estructura fundamental es simple y personalizable\n* No tiene un sistema de autenticación o base de datos específica\n* Se puede extender con los flask extensions\n* Flask sirve para hacer una cosa de forma simple\n* Templete engine JinJa2\n* Flask no tiene una arquitectura\n* Flask no tiene un ORM\n\n## Request y Response\nEl browser hace un petición y el servidor envia una respuesta\n\n```python\nfrom flask import Flask, request, make_response, redirect\napp = Flask(__name__)\n\n@app.route('/')\ndef index():\n    user_ip = request.remote_addr\n    response = make_response(redirect('/hello'))\n    response.set_cookie('user_ip', user_ip)\n    return response\n\n@app.route('/hello')\ndef hello():\n    user_ip = request.cookies.get('user_ip')\n    return f'Hello World Flask {user_ip}'\n```\n\n# Templates\nJinJa 2\nhttps://jinja.palletsprojects.com/en/2.11.x/\n\nExpandir un diccionario con **variables\n\n## Hot reload\n\nPara aplicar los cambios sin que afecte el cache teclear en Chrome:\n\u003e CTRL + SHIFT + R\n\n# Extensiones\n\nFlask permite extender sus capacidades con extenciones\n\n## Flask-Bootstrap4\n\nhttps://bootstrap-flask.readthedocs.io/en/latest/basic.html#installation\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/bootstrap.png\"\u003e\n  \u003csmall\u003e\u003cp\u003eBootstrap\u003c/p\u003e\u003c/small\u003e\n\u003c/div\u003e\n\n## Desarrollo\n\n**Blueprints:** Son una serie de rutas que podemos integrar en nuestra aplicación, pero desde otro directorio, es decir, permite modular la aplicación en pequeñas aplicaciones que hagan cosas específicas, como autenticación o el welcome.\n* Se crea un blueprint para tareas específicas y es más fácil de manejar\n\n# Códigos de estado HTTP\n\nCódigos de estado\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/codes.gif\"\u003e\n  \u003csmall\u003e\u003cp\u003eFlask Logo\u003c/p\u003e\u003c/small\u003e\n\u003c/div\u003e\n\n# Protección CSRF\n\nEl CSRF (del inglés Cross-site request forgery o falsificación de petición en sitios cruzados) es un tipo de exploit malicioso de un sitio web en el que comandos no autorizados son transmitidos por un usuario en el cual el sitio web confía.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/csrf.png\"\u003e\n  \u003csmall\u003e\u003cp\u003eFlask Logo\u003c/p\u003e\u003c/small\u003e\n\u003c/div\u003e\n\n# Bases de datoy y App Engine con Flask\n\n## Bases de datos SQL\nSe compone de bases de datos con tablas y filas que contiene campos estructurados. No es muy flexible y mientras más compleja sea la base de datos más procesamiento necesitará\n\n* ORM Flask SQL Alchemy\n* https://flask-sqlalchemy.palletsprojects.com/en/2.x/\n\n## Bases de datos NoSQL\nSu composición es abierta, no estructurada, flexible a diferentes tipos de datos y no necesita demasiados recursos para ejecutarse, no necesitan una tabla fija como las BD relacionales y es altamente escalable a un bajo costo\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/datastore.png\"\u003e\n  \u003csmall\u003e\u003cp\u003eDataStore Comparación\u003c/p\u003e\u003c/small\u003e\n\u003c/div\u003e\n\n\n### DataStore\nhttps://cloud.google.com/sdk","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feocode%2Fflask_taskapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feocode%2Fflask_taskapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feocode%2Fflask_taskapp/lists"}