# Backlog ## Mapa de estimaciones ### Esfuerzo { } El tiempo mencionado es sólo referencial, el programador usualmente considera el tiempo máximo, el empleador normalmente el mínimo, esto es una falla cognitiva, no guiarse por el tiempo, sino regirse por la complejidad. - {0}: Sin complejidad real. En pocos minutos. - {1}: Mínima complejidad. En el rango de una hora. - {2}: Con algo de complejidad pero con bastante certidumbre. En unas cuantas horas. - {4}: Complejidad moderada, posiblemente con algo de incertidumbre. Entre 4-10 horas. - {8}: Complejo y con incertidumbre. 8 horas de trabajo o más, se podría extender bastante. - {8+}: Mucha incertidumbre, esta tarea debería ser subdividida y/o estudiada activamente para una mejor estimación. - {8++}: Demasiada incertidumbre, requiere ser replanteado. ### Prioridad [ ] Importante (acerca de consecuencias). Urgente (acerca de de tiempo). Eisenhower Matrix | 1 | 2 | | :-: | :-: | | 3 | 4 | - [1]: Urgente e importante, hacer si o si lo antes posible. - [2]: Importante pero no urgente, hacerlo después de resolver los [1]. - [3]: Urgente, pero no importante, sería ideal tenerlo en esta versión. - [4]: Ni urgente ni importante, mejor no hacerlo ahora. ## Backlog ### Como todos - {8+} autenticación con OAuth2. (Se puede revisar este proyecto que es un Frontend en Vue.js que se conecta a FastAPI <https://github.com/tiangolo/full-stack-fastapi-postgresql/tree/master/%7B%7Bcookiecutter.project_slug%7D%7D/frontend>). - {8+} autorización con Vue-ACL. (Para implementar ACL sobre las secciones que se presentan en el menú lateral, routing y capacidad de ver/editar los recursos, en base a los roles de usuario y según propone el template <https://pixinvent.com/demo/vuesax-vuejs-admin-dashboard-template/documentation/auth-and-acl/permissionControl.html#configuration>). - {2}[2] ingresar al sistema con email y contraseña. - {2} Redigir al login si el usuario no está logueado. - {1}[2] cerrar mi sesión desde el menú de usuario en la barra superior. - {0} ver mi nombre y apellido en la barra superior. - {2}[4] actualizar mis datos de contacto que son: email, telefono. ### Como administrador - {4}[4] crear y editar usuarios. - {8+} asignar tipo de usuario a propietario, supervisor, operador y administrativo. - {2}[4] visualizar usuarios en detalle. (Desde la tabla se debe poder acceder a una vista para ver en detalle la información de un elemento y para editar su información según los campos definidos por la REST API). - {8}[4] visualizar usuarios en una lista. (Usando una "agGrid Table", debe tener paginación, selección de cantidad de elementos por página y un filtro de busqueda). - {1}[4] borrar usuarios. - {4}[2] crear y editar empresas. - {2} visualizar empresas en detalle. (Desde la tabla se debe poder acceder a una vista para ver en detalle la información de un elemento y para editar su información según los campos definidos por la REST API.). - {8} visualizar empresas en una lista. (Usando una "agGrid Table", debe tener paginación, selección de cantidad de elementos por página y un filtro de busqueda) - {1} borrar empresas. - {1} botón para crear nuevo elemento en cada tabla, este redirecciona a la vista de creación correspondiente. - {1} al guardar cualquier elemento se vuelve a la vista de la tabla correspondiente. ### No funcionales - Las vistas deben ser responsive y utilizar los componentes del template (Vuesax). - Apoyo en diseño y sugerencias sobre los datos que debe entregar el backend.