Este proyecto es una aplicación de escritorio desarrollada en Android Studio utilizando SQLite. Permite la gestión de piezas en una base de datos, con un sistema de roles que define los privilegios de cada usuario.
-
Sistema de Login:
- Los usuarios deben iniciar sesión para acceder a la aplicación.
- Dependiendo del rol del usuario, tendrá diferentes permisos para realizar cambios en la base de datos.
- Roles predeterminados:
Administrador
,Usuario
,Invitado
. - La base de datos incluye al menos un usuario para cada rol.
-
Pantallas Principales:
-
Pantalla de Login:
- Permite a los usuarios autenticarse con su nombre de usuario y contraseña.
- Redirige a la pantalla principal según el rol del usuario.
-
Pantalla de Gestión de Piezas:
- Muestra una lista inicial de Tipos de Piezas.
- Funciones basadas en el rol del usuario:
- Invitado: Solo puede ver los tipos de piezas, sin acceso a las piezas específicas.
- Usuario: Puede ver detalles de las piezas seleccionando un tipo.
- Administrador: Puede insertar, modificar o borrar piezas.
- Botones principales:
- Salir: Cierra la aplicación.
- Limpiar: Vacía las cajas de texto y deselecciona cualquier elemento en la lista.
-
-
Administrador:
- Puede insertar, modificar y borrar piezas.
- Tiene acceso completo a todas las funcionalidades de la aplicación.
-
Usuario:
- Puede seleccionar un tipo de pieza y ver las piezas asociadas.
- No puede realizar modificaciones en la base de datos.
-
Invitado:
- Solo puede ver la lista de tipos de piezas.
- No puede ver las piezas ni realizar modificaciones.
- Insertar Piezas (Administrador):
- Inserta una nueva pieza utilizando los datos introducidos en las cajas de texto.
- Borrar Piezas (Administrador):
- Elimina una pieza cuyo ID esté especificado en las cajas de texto.
- Modificar Piezas (Administrador):
- Actualiza los valores de una pieza en la base de datos si difieren de los actuales.
- Ver Piezas (Usuario y Administrador):
- Seleccionar un tipo de pieza carga todas las piezas relacionadas en un
GridView
. - Al seleccionar una pieza, sus detalles se cargan en las cajas de texto correspondientes.
- Seleccionar un tipo de pieza carga todas las piezas relacionadas en un
- Limpiar:
- Vacía las cajas de texto y deselecciona cualquier pieza o tipo en las listas.
- Android Studio con soporte para Kotlin.
- Dispositivo o emulador con al menos Android 5.0 (API 21).
- Configuración inicial de SQLite con los siguientes datos precargados:
- Roles:
Administrador
,Usuario
,Invitado
. - Usuarios: Al menos un usuario para cada rol.
- Piezas y Tipos: Datos iniciales para probar la aplicación.
- Roles:
La base de datos SQLite incluye las siguientes tablas:
- Usuarios:
id
(PK)username
password
role_id
(FK hacia Roles)
- Roles:
id
(PK)name
(Ej: Administrador, Usuario, Invitado)
- Tipos de Piezas:
id
(PK)name
- Piezas:
id
(PK)name
type_id
(FK hacia Tipos de Piezas)details
- Clonar el repositorio:
git clone https://github.com/tuusuario/gestion-piezas-android.git cd gestion-piezas-android