diff --git a/README.md b/README.md
index f768e33..ad95022 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,61 @@
-# React + Vite
+# Proyecto de OptiCenter
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+## Descripción del Proyecto
+Este proyecto tiene como objetivo el desarrollo de un sitio web para una óptica que permite la gestión de citas y la venta de productos ópticos. El sistema está desarrollado utilizando tecnologías modernas, como React para el frontend y Express para el backend, con una base de datos relacional para la gestión de citas y productos.
-Currently, two official plugins are available:
+El proyecto sigue la metodología XP (Extreme Programming), que se caracteriza por la flexibilidad, la colaboración cercana con el cliente y la mejora continua del código a través de ciclos cortos de desarrollo y entrega.
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+## Objetivos
+- Desarrollar una solución web que facilite la compra de productos ópticos.
+- Implementar un sistema para la gestión de citas de manera eficiente.
+- Aplicar prácticas de desarrollo ágil XP para asegurar calidad y rapidez en la entrega.
+
+## Metodología de Trabajo
+Se utiliza la metodología XP (Extreme Programming), que se enfoca en la simplicidad del código, pruebas continuas, integración frecuente y la retroalimentación constante del cliente para asegurar que el proyecto cumpla con sus expectativas.
+
+## Control de Versiones
+El proyecto utiliza Git como herramienta de control de versiones, con el repositorio alojado en GitHub. El flujo de trabajo sigue la estrategia Git Flow, donde se manejan ramas principales y de características:
+
+- master: Contiene el código listo para producción.
+- develop: Ramas para el desarrollo activo, donde se integran las características antes de pasar a producción.
+- Ramas de características (feature/nueva-funcionalidad): Para el desarrollo de nuevas funcionalidades.
+- Ramas de correcciones (hotfix/arreglo-de-error): Para aplicar correcciones rápidas a la rama de producción.
+
+## Estrategia de Versionamiento y Gestión de Ramas
+El versionamiento sigue el esquema SemVer (Versionado Semántico), que se estructura de la siguiente manera:
+
+- MAJOR: Cambios incompatibles con versiones anteriores.
+- MINOR: Nuevas funcionalidades que son compatibles hacia atrás.
+- PATCH: Correcciones de errores compatibles hacia atrás.
+
+La gestión de ramas utiliza el flujo Git Flow, permitiendo el desarrollo ordenado, pruebas e integración continua de nuevas características o correcciones.
+
+## Estrategia de Despliegue
+El proyecto se despliega automáticamente utilizando un sistema de CI/CD. El entorno de despliegue consta de:
+
+- Entorno de Desarrollo: Permite probar nuevas características antes de ser desplegadas en producción.
+- Entorno de Producción: Recibe el código listo para el cliente.
+
+Cada vez que se integra código en la rama main, se desencadena un proceso de despliegue automatizado hacia el servidor de producción, utilizando una plataforma como Railway o Vercel para el hosting.
+
+## Instrucciones de Instalación
+
+1.- Clona el repositorio en tu máquina local:
+
+ git clone https://github.com/IrvingYHM/Opticenter.git
+
+2.- Navega al directorio del proyecto:
+
+ cd Opticenter
+
+3.- Instala las dependencias del proyecto:
+
+ npm install
+
+4.- Configura las variables de entorno necesarias para la base de datos y otros servicios.
+
+5.- Ejecuta el proyecto localmente:
+
+ npm run dev
+
+6.- Accede al sitio web desde tu navegador en http://localhost:3000.
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 6fe6cc1..c174a05 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -70,9 +70,8 @@
"postcss": "^8.4.31",
"react-scripts": "^5.0.1",
"tailwindcss": "^3.3.5",
- "vite": "^5.4.11",
- "vite-plugin-pwa": "^0.20.5",
- "vitest": "^2.1.4"
+ "vite": "^4.5.5",
+ "vite-plugin-pwa": "^0.20.5"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -23458,9 +23457,15 @@
"license": "MIT"
},
"node_modules/vite": {
+<<<<<<< HEAD
"version": "5.4.11",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz",
"integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==",
+=======
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz",
+ "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==",
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
"dev": true,
"license": "MIT",
"dependencies": {
@@ -25665,6 +25670,7 @@
}
},
"@babel/plugin-proposal-private-property-in-object": {
+<<<<<<< HEAD
"version": "7.21.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz",
"integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==",
@@ -25675,6 +25681,13 @@
"@babel/helper-plugin-utils": "^7.20.2",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
}
+=======
+ "version": "7.21.0-placeholder-for-preset-env.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+ "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
+ "dev": true,
+ "requires": {}
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
},
"@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
@@ -27896,9 +27909,15 @@
}
},
"@mui/types": {
+<<<<<<< HEAD
"version": "7.2.19",
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.19.tgz",
"integrity": "sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA==",
+=======
+ "version": "7.2.13",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.13.tgz",
+ "integrity": "sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g==",
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
"requires": {}
},
"@mui/utils": {
@@ -31358,6 +31377,7 @@
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz",
"integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==",
+<<<<<<< HEAD
"dev": true,
"requires": {}
},
@@ -31366,6 +31386,9 @@
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
"integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
"dev": true
+=======
+ "requires": {}
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
},
"deep-is": {
"version": "0.1.4",
@@ -34852,7 +34875,10 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
"integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
+<<<<<<< HEAD
"dev": true,
+=======
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
"requires": {}
},
"jest-regex-util": {
@@ -35207,6 +35233,16 @@
"tr46": "^3.0.0",
"webidl-conversions": "^7.0.0"
}
+<<<<<<< HEAD
+=======
+ },
+ "ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "dev": true,
+ "requires": {}
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
}
}
},
@@ -41046,9 +41082,15 @@
}
},
"vite": {
+<<<<<<< HEAD
"version": "5.4.11",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz",
"integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==",
+=======
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz",
+ "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==",
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
"dev": true,
"requires": {
"esbuild": "^0.21.3",
@@ -42193,6 +42235,10 @@
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+<<<<<<< HEAD
+=======
+ "dev": true,
+>>>>>>> 489cba9dc0c51807da5f3611f0a3df5a43ebb446
"requires": {}
},
"xml-name-validator": {
diff --git a/package.json b/package.json
index a4a6e6d..b011e5a 100644
--- a/package.json
+++ b/package.json
@@ -8,8 +8,8 @@
"build": "vite build",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview",
- "test": "vitest",
- "test:unit": "vitest run"
+ "test": "react-scripts test",
+ "cypress:run": "cypress run"
},
"dependencies": {
"@emotion/react": "^11.11.3",
diff --git a/src/App.jsx b/src/App.jsx
index a0ac853..d755b19 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -17,10 +17,6 @@ import TerminoC from "./views/terminosC";
import Carrito from "./views/Lente/carrito";
-//Esta barra es temporal
-import BarraNavegacion from "./components/Navegacion/barraResponsiva";
-
-
/* import Carrito from "../src/components/err/NotFound"; */
import NotFound from "./components/err/NotFound";
import NotFound500 from "./components/err/error500";
@@ -98,6 +94,10 @@ function App() {
element={}
/>
+ }
+ />
+
} />
} />}
- />
+ /> */}
} />}
diff --git a/src/components/Navegacion/barra.jsx b/src/components/Navegacion/barra.jsx
index dbd25f0..5a767c7 100644
--- a/src/components/Navegacion/barra.jsx
+++ b/src/components/Navegacion/barra.jsx
@@ -58,7 +58,7 @@ function Barra() {
const handleOpen = (value) => setOpen(open === value ? 0 : value);
useEffect(() => {
- // Verificar el tipo de usuario al cargar la página
+ // Verificar el tipo de usuario al cargar la página.
const token = localStorage.getItem("token");
let nombreUsuario = "";
//let fotoUsuario = "";