MACHIMBA es una tienda online de bolsos únicos y de edición limitada, diseñados y confeccionados por Rocío Machimbarrena. La plataforma está construida utilizando Node.js para el backend y Pug como motor de plantillas para el frontend.
- Backend: Node.js
- Motor de Plantillas: Pug
- Base de Datos: SQL
- Estilos: CSS puro
- Frontend: JavaScript (manejo dinámico del carrito e interacciones de UI/UX)
- Containerización: Docker
- Contenedor para Node.js
- Contenedor para MySQL
- Docker Compose para orquestación
- Descripción del Proyecto
- Estructura de la Base de Datos
- Requisitos
- Instalación y Configuración
- Endpoints de la API
- Consideraciones de Diseño
- Estado del Proyecto
- Contribuciones
- Licencia
- Equipo de Desarrollo
Este proyecto permite gestionar una tienda online de bolsos, donde los usuarios pueden:
- Registrarse, ver y comprar productos.
- Consultar un histórico de sus pedidos.
- Los administradores pueden gestionar productos, usuarios y trabajadores.
- Tablas principales:
product
: Almacena información sobre cada bolso disponible.user
: Almacena los datos de los usuarios.client
: Detalles adicionales sobre los clientes.worker
: Información de los empleados.purchase
: Pedidos realizados.purchase_has_product
: Relación entre productos y pedidos.purchase_history
: Historial de pedidos.
Para ejecutar este proyecto, necesitas:
-
Clona el repositorio:
git clone git@github.com:EkaitzGA/Machimba.git cd Machimba
-
Instala las dependencias:
npm install
-
Configura las variables de entorno:
-
Crea un archivo
.env
siguiendo el ejemplo de.env.example
:DB_HOST=machimba_db DB_PORT=3308 APP_HOST=machimba_back APP_PORT=3001 DB_USER="tu user" DB_PASSWORD="tu contraseña" DB_DATABASE=Machimba DB_ROOT_PASSWORD=1234 SESSION_SECRET=1234
-
-
Inicia Docker:
docker compose up --build
La aplicación estará disponible en http://localhost:3001.
- Todos los bolsos:
purses/api/purses
- Bolso individual:
purses/api/purses/:id
- Diseño minimalista y elegante.
- Enfoque en usabilidad.
- Experiencia de usuario fluida.
- Totalmente responsive para dispositivos móviles.
🚧 En desarrollo activo: Actualizaciones frecuentes con nuevas funcionalidades y mejoras.
¡Cualquier contribución es bienvenida! Sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama:
git checkout -b "nombre-de-tu-rama"
- Realiza tus cambios y haz commit:
git commit -m "Descripción de los cambios"
- Envía un Pull Request.
Este proyecto fue desarrollado por:
Cada miembro contribuyó a distintas etapas del desarrollo para crear una plataforma funcional y bien documentada.