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 (
workerycustomer). - Autenticación y Sesión: El control de sesión se maneja mediante
LocalStoragebajo la clavecurrentUser. Al cerrar sesión, se limpia ellocalStoragey 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,contrasenayrolId.pets: Contiene los detalles de las mascotas, con campos comonombre,peso,edad,razayuserId(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-serverglobalmente: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.htmlen 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