Este proyecto es una Single Page Application (SPA) para un centro de cuidado de mascotas, donde los clientes pueden dejar sus animales para que sean atendidos mientras están por fuera de casa.
La aplicación permite registrar dueños de mascotas, ingresar datos de los animales, gestionar estancias (reservas de cuidado), y tener un sistema de autenticación y control de acceso por roles.
La solución está construida con HTML, CSS y JavaScript Vanilla, consumiendo una API simulada mediante json-server
.
- Gestión de Entidades: Funcionalidades de CRUD (Crear, Leer, Actualizar, Eliminar) con
fetch()
para mascotas y estancias. - Roles de Usuario: El sistema respeta la lógica de permisos basada en roles (
worker
ycustomer
). - Autenticación y Sesión: El control de sesión se maneja mediante
LocalStorage
bajo la clavecurrentUser
. Al cerrar sesión, se limpia ellocalStorage
y se redirige a la landing page. - Navegación SPA: Las vistas cambian de manera fluida usando JavaScript sin recargar la página completa.
- Validación de Rutas: Las rutas mal ingresadas redireccionan automáticamente a una vista 404 (
404.html
). - Cálculo de Estancia: Se calcula automáticamente el valor total a pagar por el cliente. El cálculo se realiza multiplicando el número de días de la estancia por el campo
valorDia
.
La base de datos está dividida en cuatro colecciones principales:
roles
: Define los tipos de usuario:"worker"
(trabajadores del centro) y"customer"
(clientes o dueños de mascotas).users
: Almacena la información de los dueños y trabajadores, con campos comonombre
,email
,contrasena
yrolId
.pets
: Contiene los detalles de las mascotas, con campos comonombre
,peso
,edad
,raza
yuserId
(dueño, relación conusers
).stays
: Registra las estancias, con campos como la fecha deingreso
,salida
,petId
(relación conpets
) yvalorDia
.
-
Clona el repositorio:
git clone <URL_DEL_REPOSITORIO> cd <NOMBRE_DEL_REPOSITORIO>
-
Instala las dependencias
Asegúrate de tener Node.js instalado. Luego, instalajson-server
globalmente:npm install -g json-server
-
Inicia el servidor de la API
Abre tu terminal en el directorio raíz del proyecto y ejecuta:json-server --watch database.json --port 3000
Esto levantará una API RESTful en
http://localhost:3000
. -
Abre el proyecto
Simplemente abre el archivoindex.html
en tu navegador web. La aplicación se ejecutará y se conectará automáticamente a la API.
Siéntete libre de abrir issues
para reportar errores o sugerir mejoras. Las pull requests
son bienvenidas.
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE
para más