From 089ef4f7d883f86bfdc6d5c29e7c39c9c2c881fb Mon Sep 17 00:00:00 2001 From: JChuck0 <110050395+JChuck0@users.noreply.github.com> Date: Thu, 23 Jul 2026 17:11:53 +0000 Subject: [PATCH 1/3] Estructura base del home, nav y footer --- home.html | 442 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 442 insertions(+) create mode 100644 home.html diff --git a/home.html b/home.html new file mode 100644 index 000000000..f3bf2e410 --- /dev/null +++ b/home.html @@ -0,0 +1,442 @@ + + + + + + Nombre Marca | Moda Hombre y Mujer — Tienda Online + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+

Nombre Marca — Moda para Hombre y Mujer

+ + +
+ + +
+ +
+ + +
+ +
+ +
+ + + + + + + From 1c951e3a96e87c04bf261f2786772f6e893d200f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Losada?= <8752443+rubenlosada11@users.noreply.github.com> Date: Thu, 23 Jul 2026 17:30:05 +0000 Subject: [PATCH 2/3] =?UTF-8?q?Estilos=20y=20compilaci=C3=B3n=20output.css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- input.css | 27 +++++++++++++++++++++++++++ output.css | 1 + tailwind.config.js | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 input.css create mode 100644 output.css create mode 100644 tailwind.config.js diff --git a/input.css b/input.css new file mode 100644 index 000000000..8650b58dc --- /dev/null +++ b/input.css @@ -0,0 +1,27 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + body { + /* El fondo cálido y la tipografía funcional por defecto[cite: 1] */ + @apply bg-velune-ivoire text-velune-noir font-sans antialiased selection:bg-velune-rouge selection:text-velune-blanc; + } + + h1, h2, h3, h4, h5, h6 { + /* Los titulares deben evocar elegancia y movimiento[cite: 1] */ + @apply font-serif font-light tracking-wide; + } +} + +@layer components { + /* Botones primarios sin artificio ni exceso[cite: 1] */ + .btn-primary { + @apply inline-block bg-velune-noir text-velune-blanc font-sans text-sm uppercase tracking-widest px-8 py-3 transition-colors duration-300 hover:bg-velune-rouge; + } + + /* Botones secundarios discretos[cite: 1] */ + .btn-secondary { + @apply inline-block border border-velune-noir text-velune-noir font-sans text-sm uppercase tracking-widest px-8 py-3 transition-colors duration-300 hover:bg-velune-noir hover:text-velune-blanc; + } +} \ No newline at end of file diff --git a/output.css b/output.css new file mode 100644 index 000000000..cf6999e3c --- /dev/null +++ b/output.css @@ -0,0 +1 @@ +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}body{--tw-bg-opacity:1;background-color:rgb(241 233 226/var(--tw-bg-opacity));font-family:Inter,sans-serif;--tw-text-opacity:1;color:rgb(23 19 21/var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body ::-moz-selection{--tw-bg-opacity:1;background-color:rgb(143 36 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}body ::selection{--tw-bg-opacity:1;background-color:rgb(143 36 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}body::-moz-selection{--tw-bg-opacity:1;background-color:rgb(143 36 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}body::selection{--tw-bg-opacity:1;background-color:rgb(143 36 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}h1,h2,h3,h4,h5,h6{font-family:Cormorant,Didot,serif;font-weight:300;letter-spacing:.025em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.order-last{order:9999}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-\[3\/4\]{aspect-ratio:3/4}.h-10{height:2.5rem}.h-2{height:.5rem}.h-20{height:5rem}.h-4{height:1rem}.h-\[85vh\]{height:85vh}.h-full{height:100%}.min-h-\[520px\]{min-height:520px}.w-10{width:2.5rem}.w-2{width:.5rem}.w-4{width:1rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[280px\]{min-width:280px}.min-w-\[300px\]{min-width:300px}.min-w-\[360px\]{min-width:360px}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-10{row-gap:2.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.font-sans{font-family:Inter,sans-serif}.font-serif{font-family:Cormorant,Didot,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.leading-tight{line-height:1.25}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-60{opacity:.6}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.hover\:bg-transparent:hover{background-color:transparent}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group.is-open .group-\[\.is-open\]\:block{display:block}.group.is-open .group-\[\.is-open\]\:flex{display:flex}@media (min-width:768px){.md\:order-none{order:0}.md\:mb-14{margin-bottom:3.5rem}.md\:w-auto{width:auto}.md\:max-w-xs{max-width:20rem}.md\:flex-1{flex:1 1 0%}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-24{padding-top:6rem}.md\:pb-24,.md\:py-24{padding-bottom:6rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}}.\[\&\.is-active\]\:block.is-active{display:block}.\[\&\.is-active\]\:w-6.is-active{width:1.5rem} \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 000000000..5cca6e617 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,39 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./src/**/*.{html,js,jsx,ts,tsx,vue}", + "./index.html", + "./home.html", + "./catalogo.html", + "./producto.html", + "./carrito.html", + "./checkout.html", + "./*.html" + ], + theme: { + extend: { + colors: { + // Paleta de colores principal de VELUNE + velune: { + noir: '#171315', // Noir Velours: Principal estructura + rouge: '#8F243C', // Rouge Désir: Acento sensualidad + ivoire: '#F1E9E2', // Ivoire Peau: Fondo calidez + gris: '#D7C8BC', // Gris Soie: Neutro transición[cite: 1] + blanc: '#FFFFFF', // Blanc Lumière: Contraste claridad[cite: 1] + } + }, + fontFamily: { + // Tipografía editorial y funcional[cite: 1] + sans: ['Inter', 'sans-serif'], // Sistema funcional (navegación, producto, UI)[cite: 1] + serif: ['Cormorant', 'Didot', 'serif'], // Mood editorial expresivo[cite: 1] + }, + spacing: { + // Espaciados amplios para mantener el "espacio negativo" y el encuadre íntimo[cite: 1] + '18': '4.5rem', + '22': '5.5rem', + '30': '7.5rem', + } + }, + }, + plugins: [], +} \ No newline at end of file From 62bd1e935b8492fee11e6a29b66059b637453be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Losada?= <8752443+rubenlosada11@users.noreply.github.com> Date: Thu, 23 Jul 2026 18:01:03 +0000 Subject: [PATCH 3/3] =?UTF-8?q?Actualizaci=C3=B3n=20readmes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.es.md | 103 +++++++++++++++++++++++++++++++++++++-------------- README.md | 96 +++++++++++++++++++++++++++++++++-------------- 2 files changed, 144 insertions(+), 55 deletions(-) diff --git a/README.es.md b/README.es.md index 67d416dda..fd2c20d9b 100644 --- a/README.es.md +++ b/README.es.md @@ -1,44 +1,91 @@ -# HTML Hello +# Nombre Marca - Web de Moda -El boilerplate más básico para cualquier estudiante de 4Geeks Academy, empieza tu primer sitio web desde cero. +Sitio web de una marca de moda para hombre y mujer con sede en Francia. -> Tienes un video tutorial sobre [cómo usar esta plantilla para crear tu primer sitio web aquí](https://youtu.be/dfbDCMu_p-0). +El proyecto esta orientado a desarrollo front-end colaborativo y organizado por ramas para permitir que varios integrantes trabajen en paralelo (home, catalogo, producto, carrito, checkout, UI, contenido y estilos). -## ¿Qué hacer a continuación? +## Objetivo del proyecto -Crea un archivo `index.html` con [la estructura básica de HTML](https://4geeks.com/es/lesson/what-is-html-learn-html-es#estructura-de-pgina) y ve el resultado en vivo corriendo un servidor web utilizando el siguiente comando: +- Construir una experiencia de e-commerce editorial para una marca de moda. +- Mantener una base de codigo clara para trabajo en equipo. +- Facilitar iteraciones rapidas por funcionalidades usando flujo Git por ramas. -```bash -$ pip3 install flask && python3 server.py -``` +## Stack actual + +- HTML5 +- Tailwind CSS +- CSS (entrada y salida de compilacion) +- JavaScript (scripts de interfaz) +- Python (servidor local para desarrollo) -- Puedes crear tantos archivos HTML cómo desees. -- También puedes crear archivos CSS e importarlos en tu página web utilizando una etiqueta `` ubicándola entre las etiquetas ``, de la siguiente manera: +## Estructura base del proyecto -```html - - ... - - ... - +Estructura recomendada para la web y sus recursos visuales: + +```text +. +|- home.html +|- catalogo.html +|- producto.html +|- carrito.html +|- checkout.html +|- input.css +|- output.css +|- tailwind.config.js +|- server.py +|- assets/ +| |- css/ +| | |- style.css +| |- js/ +| | |- main.js +| |- img/ +| | |- hero/ +| | |- products/ +| | |- banners/ +| |- icons/ +| | |- ui/ +| | |- social/ +|- README.md +|- README.es.md ``` -- Si deseas usar Tailwind CSS, agrégalo de forma opcional mediante el CDN oficial de Tailwind CSS v4 dentro del mismo ``: +Nota: actualmente este repositorio incluye los archivos base y puede ampliarse con esta estructura para separar contenido, estilos, scripts, imagenes e iconos de forma mantenible. + +## Flujo colaborativo por ramas + +Ramificacion basica sugerida: -```html - - ... - - - ... - +- `main`: rama estable y lista para entrega. +- `develop`: rama de integracion de cambios aprobados. +- `feature/*`: nuevas funcionalidades (ejemplo: `feature/navbar-home`, `feature/hero-carousel`, `feature/cart-dropdown`). +- `fix/*`: correcciones puntuales. +- `hotfix/*`: arreglos urgentes sobre produccion. + +Flujo recomendado: + +1. Crear rama desde `develop`. +2. Implementar cambios atomicos con commits claros. +3. Abrir Pull Request hacia `develop`. +4. Revisar, aprobar y hacer merge. +5. Publicar en `main` cuando el sprint este validado. + +## Como ejecutar en local + +Inicia un servidor local: + +```bash +pip3 install flask && python3 server.py ``` +Si compilas Tailwind desde `input.css` a `output.css`, usa el comando configurado por tu equipo (por ejemplo via CLI o script npm). -## Agradecimientos +## Convenciones de trabajo -Esta y otras plantillas son utilizadas para [aprender a programar](https://4geeksacademy.com/es/aprender-a-programar/aprender-a-programar-desde-cero) por parte de los alumnos de 4Geeks Academy [Coding Bootcamp](https://4geeksacademy.com/us/coding-bootcamp). +- Nombrar ramas y commits de forma descriptiva. +- Evitar mezclar varias features en la misma rama. +- Mantener coherencia visual en tipografias, color y espaciados. +- Documentar cualquier cambio de estructura en este README. -Realizado por [Alejandro Sánchez](https://twitter.com/alesanchezr) y muchos otros contribuyentes. +## Estado -Conoce más sobre nuestros [Cursos de Programación](https://4geeksacademy.com/es/curso-de-programacion-desde-cero/?lang=es) para convertirte en [Full Stack Developer](https://4geeksacademy.com/es/desarrollador-full-stack/desarrollador-full-stack), o nuestro [Data Science Bootcamp](https://4geeksacademy.com/es/coding-bootcamps/curso-datascience-machine-learning). +Proyecto en evolucion como repositorio colaborativo para desarrollo web de la marca. diff --git a/README.md b/README.md index 4ccfbc394..fad915160 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,83 @@ -# HTML Hello +# Nombre Marca - Fashion Website -The most basic boilerplate for any 4Geeks Academy student, start your very first website from scratch. +Website project for a fashion brand based in France, focused on menswear and womenswear e-commerce experience. -> There is a video tutorial on [how to use this template to create your very first website here](https://youtu.be/dfbDCMu_p-0). +This repository is organized for collaborative web development, with a basic branching strategy that allows multiple contributors to work in parallel on pages and features. -## What to do next? +## Project purpose -Create an `index.html` file with the [basic HTML structure](http://4geeks.com/lesson/what-is-html-learn-html#page-structure) and see it live by running a web-server using the following command: +- Build a modern fashion storefront (home, catalog, product, cart and checkout views). +- Keep a clean and maintainable front-end codebase. +- Support team collaboration through branch-based workflows and pull requests. -```bash -$ pip3 install flask && python3 server.py -``` +## Current stack + +- HTML5 +- Tailwind CSS +- CSS (source + compiled output) +- JavaScript (UI behavior) +- Python (local development server) -- You can create as many HTML files as you want. -- You can also create CSS files and import them into your website using a `` tag placed between the `` tags, like this: +## Suggested base structure -```html - - ... - - ... - +```text +. +|- home.html +|- catalogo.html +|- producto.html +|- carrito.html +|- checkout.html +|- input.css +|- output.css +|- tailwind.config.js +|- server.py +|- assets/ +| |- css/ +| | |- style.css +| |- js/ +| | |- main.js +| |- img/ +| | |- hero/ +| | |- products/ +| | |- banners/ +| |- icons/ +| | |- ui/ +| | |- social/ +|- README.md +|- README.es.md ``` -- If you want to use Tailwind CSS, add it optionally via the official Tailwind CSS v4 CDN inside the same ``: +Note: the repository currently includes the core files and can be expanded with this structure to separate styles, scripts, images and icons in a scalable way. + +## Collaborative branching model + +Basic branching strategy: -```html - - ... - - - ... - +- `main`: stable branch, release-ready. +- `develop`: integration branch for approved work. +- `feature/*`: new features (for example `feature/home-hero`, `feature/catalog-grid`, `feature/cart-summary`). +- `fix/*`: standard bug fixes. +- `hotfix/*`: urgent production fixes. + +Recommended workflow: + +1. Create a branch from `develop`. +2. Implement focused changes with clear commits. +3. Open a Pull Request to `develop`. +4. Review, approve and merge. +5. Promote to `main` after sprint validation. + +## Run locally + +```bash +pip3 install flask && python3 server.py ``` -### Contributors +If your team compiles Tailwind from `input.css` to `output.css`, run the CLI or npm script defined by your setup. -This template was built as part of the [Full Stack Developer course](https://4geeksacademy.com/us/coding-bootcamps/part-time-full-stack-developer) at [4Geeks Academy Coding Bootcamp](https://4geeksacademy.com/us/coding-bootcamp) by [Alejandro Sanchez](https://twitter.com/alesanchezr) and [many other contributors](https://github.com/4GeeksAcademy/html-hello/graphs/contributors). +## Team conventions -You can find other templates and resources like this at the [school's GitHub page](https://github.com/4geeksacademy/). +- Use descriptive branch and commit names. +- Keep one feature per branch. +- Preserve visual consistency across typography, color and spacing. +- Update this README when folder structure or workflow changes.