https://github.com/lnvaldez/web-wk
Taller Backend con Flask.
https://github.com/lnvaldez/web-wk
backend flask flask-sqlalchemy python sqlalchemy sqlite
Last synced: about 1 year ago
JSON representation
Taller Backend con Flask.
- Host: GitHub
- URL: https://github.com/lnvaldez/web-wk
- Owner: lnvaldez
- Created: 2025-05-03T14:46:48.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-04T12:08:42.000Z (about 1 year ago)
- Last Synced: 2025-05-04T13:20:15.038Z (about 1 year ago)
- Topics: backend, flask, flask-sqlalchemy, python, sqlalchemy, sqlite
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📘 Proyecto: Backend To-Do App (Flask + SQLAlchemy)
Este proyecto enseña cómo construir un backend paso a paso para una aplicación de tareas usando **Flask**, **Jinja2** y **SQLAlchemy**. Cada rama representa una etapa del desarrollo.
---
1 - Descargar la rama
2 - Extraer zip
3 - Abrir la carpeta en Visual Studio Code
4 - [Activar entorno virtual](https://flask.palletsprojects.com/en/stable/installation/#virtual-environments)
pip install -r requirements.txt
## 🔰 `01 - Configuración inicial`
🔗 [📦 Descargar esta rama](https://github.com/lnvaldez/web-wk/archive/refs/heads/backend-01-setup.zip)
🎯 Objetivo
- Crear una aplicación Flask mínima
- Mostrar "Hola mundo" en el navegador
- Verificar que Flask esté funcionando correctamente
---
## 🖼️ `02 - Plantillas con Jinja2`
🔗 [📦 Descargar esta rama](https://github.com/lnvaldez/web-wk/archive/refs/heads/backend-02-template.zip)
🎯 Objetivo
- Renderizar una plantilla HTML con `render_template`
- Crear archivo `index.html`
- Usar Jinja2 para mostrar una lista simulada de tareas (mock) con `{% for %}`
---
## 📝 `03 - Manejo de formularios`
🔗 [📦 Descargar esta rama](https://github.com/lnvaldez/web-wk/archive/refs/heads/backend-03-form-handling.zip)
🎯 Objetivo
- Crear un formulario HTML para nuevas tareas
- Enviar datos al servidor con `POST`
- Capturar los datos con `request.form`
- Guardar la tarea en una lista temporal (`tareas = []`)
- Redirigir a `/` luego del envío
---
## 💾 `04 - Conexión con base de datos`
🔗 [📦 Descargar esta rama](https://github.com/lnvaldez/web-wk/archive/refs/heads/backend-04-sqlalchemy.zip)
🎯 Objetivo
- Reemplazar la lista `tareas = []` por una base de datos real
- Usar SQLite con SQLAlchemy
- Crear tabla `Tarea`
- Mostrar todas las tareas en `index.html`
- Insertar nuevas tareas desde el formulario
- Sin editar ni eliminar todavía
---
## 🔁 `05 - CRUD básico con base de datos`
🔗 [📦 Descargar esta rama](https://github.com/lnvaldez/web-wk/archive/refs/heads/backend-05-crud-db.zip)
🎯 Objetivo
- Agregar funcionalidad para eliminar tareas con botón `Eliminar`
- Agregar funcionalidad para marcar tareas como completadas con checkbox
- Actualizar el campo `completada` en la base de datos
- Eliminar usando método `POST`
- No se incluye edición del título
---
## 🧱 `06 - Arquitectura MVC modular`
🔗 [📦 Descargar esta rama](https://github.com/lnvaldez/web-wk/archive/refs/heads/backend-06-mvc.zip)
🎯 Objetivo
- Reorganizar el proyecto con una arquitectura MVC básica
- Separar archivos en:
- `models/` → definición de `Tarea`
- `controllers/` → funciones como `crear_tarea`, `eliminar_tarea`, etc.
- `routes/` → define las rutas y llama a las funciones del controlador
- `database/` → contiene el objeto `db`
- Dejar `app.py` limpio, solo con configuración y arranque
---
¡Explorá cada rama para avanzar paso a paso en la construcción de tu backend! 💡