Hola, soy Pedro Kauati y en este artículo describo mi experiencia creando una webapp de backend con FastAPI y PostgreSQL. Buscaba aprender a llevar un proyecto de inicio a fin y aplicar conocimientos previos en Python en un contexto de desarrollo web real.

Motivación y idea: vengo del desarrollo de videojuegos, he trabajado con C# y C++ en Vancouver, pero nunca fui responsable de un proyecto web completo. Quise hacer algo factible y útil, así que pensé en un Issue Tracker para reportar bugs, comentar y asignar incidencias. Así nació la idea de Flyswatter como ejercicio práctico para aprender buenas prácticas en APIs y despliegue.

Stack técnico: FastAPI como framework, PostgreSQL como base de datos, SQLAlchemy para ORM y Alembic para migraciones. Contenedores con Docker y orquestación con docker-compose para simplificar el despliegue local y las pruebas. Autenticación basada en OAuth2 y JWT, pruebas automatizadas con pytest en Github Actions y monitorización de errores con Sentry.

Consejos y problemas encontrados: uno de los principales retos fue entender las diferencias entre ejecutar scripts dentro de contenedores y desde el host; en algunos casos no importa pero en otros cambia rutas, permisos y contexto de red. Con Alembic aprendí que conviene dejar que Alembic genere las tablas y mantener sus metadatos, porque manipular manualmente la tabla de versiones puede provocar deriva entre el esquema real y las migraciones. Atención especial a enums y tipos que Alembic añade en upgrade pero no siempre elimina en downgrade.

Otras trampas fueron la gestión de variables de entorno en Python, el desempaquetado de diccionarios en kwargs y detalles del sistema de imports. Evitar usar Base.metadata.drop_all() a la ligera, porque borra todo excepto alembic_version y puede romper el flujo de migraciones. Para realizar rollback en pruebas complejas, la técnica que funcionó fue mantener una conexión de base de datos que abarque todos los cambios, usar subtransacciones anidadas, escuchar after_transaction_end y en último término llamar rollback en la conexión original para revertir todo lo anidado.

Resultado: tras unas semanas la API principal de Flyswatter quedó operativa, con repositorio y despliegue en la nube. No desarrollé interfaz de usuario, pero FastAPI incluye Swagger UI que facilita probar cada endpoint y documentar la API. Como siguientes pasos planeo añadir procesamiento en segundo plano con Redis y generar reportes PDF automáticos de incidencias.

Acerca de Q2BSTUDIO: en Q2BSTUDIO desarrollamos software a medida y aplicaciones a medida pensadas para llevar ideas a producción con calidad profesional. Somos especialistas en inteligencia artificial, ciberseguridad, servicios cloud y business intelligence. Si necesitas un desarrollo personalizado puedes conocer más sobre nuestras soluciones de aplicaciones en desarrollo de aplicaciones y software multicanal y si tu proyecto requiere infraestructura en la nube ofrecemos migraciones y gestión en servicios cloud aws y azure en nuestros servicios cloud.

Palabras clave: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si te interesa que te ayudemos a convertir una idea en un producto escalable, en Q2BSTUDIO combinamos experiencia en backend, despliegue en la nube y seguridad para entregar soluciones completas.

Gracias por leer y si quieres comentar el proyecto Flyswatter o conocer cómo aplicamos estas prácticas en proyectos reales, ponte en contacto con nosotros o explora nuestros servicios para ver cómo podemos ayudarte a implementar soluciones empresariales robustas.