Caracteristicas y Especificaciones

Diseñado desde cero, este sistema ofrece una solución clara para controlar productos, categorías y el stock de cualquier tienda o almacén.
La aplicación permite realizar operaciones esenciales de CRUD (Crear, Leer, Actualizar, Eliminar) para productos, organizar el inventario por categorías y monitorear el stock en tiempo real. La interfaz, amigable y minimalista, garantiza una experiencia de usuario sencilla y eficiente.

Tecnologías y Aprendizajes
Como desarrollador backend junior, este proyecto destaca mi habilidad para construir una arquitectura sólida. He utilizado:
- Python con Flask: Implementando una arquitectura MVC simplificada.
- SQLite: Como base de datos relacional.
- Jinja2: Para un renderizado dinámico y eficiente en el frontend.
- HTML5, Bootstrap y CSS: Para un diseño visual atractivo y una experiencia de usuario optimizada.
@generales_bp.app_errorhandler(404)
def pagina_no_encontrada(error):
"""
Maneja errores 404 (página no encontrada).
Renderiza una página de error personalizada con breadcrumbs para mejorar
la navegación del usuario.
:param error: Objeto de error recibido por Flask.
:return: Renderiza el template de error con mensaje y breadcrumbs.
"""
breadcrumbs = [
{'name': 'Inicio', 'url': url_for('generales.index')},
{'name': 'Error 404', 'url': '#'}
]
return render_template(
'error.html',
mensaje="La página solicitada no existe.",
breadcrumbs=breadcrumbs
), 404
Además, el código está organizado modularmente e incluye manejo básico de errores, con una arquitectura preparada para futuras expansiones como autenticación o dashboards avanzados.
¿Por Qué Este Proyecto?

Este sistema no solo resuelve un problema real, sino que también demuestra mi iniciativa y mi compromiso con el código limpio, estructurado y escalable. Refleja mis fundamentos en desarrollo web backend, interacción con bases de datos y diseño de interfaces funcionales. Es una prueba tangible de mis capacidades como desarrollador y mi potencial para proyectos más complejos.
@articulos_bp.route('/buscar_articulo', methods=['GET', 'POST'])
def buscar_articulo():
"""
Ruta para buscar artículos en el inventario.
Permite buscar artículos por cualquier campo relevante usando un término
proporcionado por el usuario. El resultado se muestra en el mismo template
de la lista de artículos.
:return: Renderiza el template con los artículos filtrados y el término de búsqueda.
"""
termino = request.args.get('termino', '').strip()
articulos = []
if termino:
articulos = Articulo.query.filter(
(Articulo.codigo_articulo.ilike(f'%{termino}%')) |
(Articulo.seccion.ilike(f'%{termino}%')) |
(Articulo.nombre_articulo.ilike(f'%{termino}%')) |
(Articulo.precio.ilike(f'%{termino}%')) |
(Articulo.importado.ilike(f'%{termino}%')) |
(Articulo.pais_origen.ilike(f'%{termino}%'))
).all()
return render_template('articulos.html', articulos=articulos, termino=termino)
Para conocer mas:
¿Interesado en la implementación? Explora el código fuente y la documentación detallada del proyecto en mi repositorio de GitHub.
Ver codigo del proyecto