
Bulldoggy es una pequeña aplicación web de demostración para rastrear recordatorios. Usa:
El desarrollo y las pruebas son dos lados de la misma moneda:
Estas dos notas clave son sujetalibros entre sí.
Necesitará una versión reciente de Python para ejecutar esta aplicación. Para instalar dependencias del proyecto:
pip install -r requirements.txt
Se recomienda instalar dependencias en un entorno virtual.
Para ejecutar la aplicación:
uvicorn app.main:app --reload
Luego, abra su navegador a http://127.0.0.1:8000 para cargar la aplicación.
Construye la imagen con:
docker build -t bulldoggy-reminders-app:0.1 .
Para ejecutar la imagen:
docker run -it --rm --name bulldoggy-reminders-app -p 8000:8000 bulldoggy-reminders-app:0.1
El archivo config.json declara a los usuarios para la aplicación. Puede usar las credenciales de usuario configuradas o cambiarlas a su gusto. El nombre de usuario "predeterminado" es pythonista con la contraseña I<3testing .
La aplicación usa TinyDB, que almacena la base de datos como un archivo JSON. La base de datos predeterminada FilePath es reminder_db.json . Puede cambiar esta ruta en config.json . Si cambia el FilePath, la aplicación creará automáticamente una nueva base de datos vacía.
Bulldoggy es una aplicación de recordatorios. Después de iniciar sesión, puede crear listas de recordatorios.

Cada lista de recordatorio aparece a la izquierda, y los elementos de la lista aparecen a la derecha. Puede agregar, eliminar o editar listas y elementos. También puede golpear los artículos completos.

Para leer los documentos de la API, abra las siguientes páginas:
/docs para documentos clásicos de Openapi/redoc para documentos de redoc más modernos Personalmente, me encanta Python, y quería demostrar cómo construir una aplicación web moderna de pila completa completamente con Python .
JavaScript esencialmente tiene un casi monopolio en el desarrollo web front-end. Los navegadores requieren que el código JavaScript realice interacciones dinámicas de la página web. Sin embargo, HTMX ofrece una forma novedosa de esquivar esta limitación: proporciona atributos HTML especiales para denotar interacciones dinámicas para elementos. Bajo el capó, HTMX usa AJAX para emitir solicitudes HTTP e intercambiar contenido de hipertexto por elementos con sus atributos especiales. JavaScript todavía está allí, ¡simplemente no necesitas tocarlo!
Esto permite a los marcos web en idiomas como Python, GO, Java y otros ofrecer contenido dinámico de la página web directamente en HTML sin requerir que los desarrolladores codifiquen explícitamente cualquier JavaScript. ¡HTMX le permite, como desarrollador, crear hermosas aplicaciones web mientras permanece en la pila tecnológica de su elección!
Para obtener más información sobre el diseño de esta aplicación, mira mi nota clave de Pytexas 2023, Python de pila completa .