Por: Javier Guerra
Noviembre 2022
Ver el fichero enunciado.pdf para conocer los requisitos de la práctica.
Ver el fichero presentacion.pdf para conocer los antecedentes de la práctica.
Ver info sobre la presentación + video.
Tecnologías: Node.JS + Express + MongoDB + Mongoose
Módulos: compression, cors, helmet, dotenv, nodemon, mongoose-paginator-v2
Instalación:
- Renombrar
.env.example
a.env
y completar los datos requeridos - Crear la BBDD MongoDB
practicafinal
y las coleccionesproducts
ymanufacturers
- Para la carga inicial de datos, usar:
node createdb.js
Modos de uso:
- Uso en desarrollo:
npm run dev
- Uso en producción:
npm start
Ruta y puerto «dev»: http://localhost:3000/v1/
API disponible en: https://api-tienda8bits.up.railway.app/v1/
Instrucciones de uso de la API en: http://localhost:3000/
Instrucciones disponibles en: https://api-tienda8bits.up.railway.app/
Características destacadas de la API:
- Emplea módulos ESM.
- Está preparada para el versionado de la API.
- Está preparada para el uso de BBDD MongoDB local o en remoto (config.js).
- Preserva la seguridad del acceso a la API con el uso del módulo
helmet
. - Devuelve las rutas de los enlaces a las fotos y logos dinámicamente.
- Cuenta con documentación de la API.
Tecnologías: React + Vite, axios, react-router-dom, react-hook-form
Módulos propios: setSpin, inactiveBtn, compareTwoObjects
Instalación:
- Renombrar
.env.example
a.env
y completar laurl
de acceso al backend - Cambiar la ruta (
base:
) de la ubicación de la APP en el servidor envite.config.js
- Preparar la distribución de la carpeta
dist
para subir al servidor connpm run build
Modos de uso:
- Uso en desarrollo:
npm run dev
- Para su uso en producción, construir con:
npm run build
Ruta y puerto «dev»: http://localhost:3001/proyecto/tienda8bits/
Aplicación disponible en: https://javguerra.badared.com/proyecto/tienda8bits/
Características destacadas de la App:
- El diseño es adaptable (responsive) según el dispositivo.
- CSS propio. No usa frameworks.
- Es accesible (revisado con el complemento WAVE).
- Utiliza fuentes de Google Font en los títulos para preservar la accesibilidad.
- Implementa el protocolo Open Graph para la correcta inserción de la web en RRSS.
- Es compatible con Progessive Web Aplication (PWA) a través de fichero manifest.json, por lo que la página puede ser instalada en dispositivos móviles como una web app.
- Ha sido probada con los navegadores web Firefox y Chrome.
- Tratamiento de imágenes con software libre: Gimp e InkScape.
Acceder a la página web de la práctica.
- Wikipedia
- Enciclopedia «Mi Computer», editorial Delta, 1984.
Sobre el código fuente: GNU GENERAL PUBLIC LICENSE Version 3
Sobre el contenido de la web: (CC) BY-SA 3.0
Sobre las fotos: Son propiedad de sus respectivos autores.
Sobre las fuentes de letra: Google Fonts
Sobre los iconos: Heroicons
Material usado sin ánimo de lucro bajo criterios didácticos y formativos.
Artículos informativos elaborados por el autor relacionados con esta práctica: