|
1 | | -# augusto-mate_web-development-final |
2 | | -Responsive, accessible multipage website built with semantic HTML, modular CSS, and progressive JavaScript. Final assignment for the Web Development V2 Module. Deployed to GitHub Pages, Netlify, and Vercel. |
| 1 | +# 🌐 Augusto Mate — Web Development Final |
| 2 | + |
| 3 | +## 📄 Overview |
| 4 | + |
| 5 | +Responsive, accessible, and production-ready multipage website built as the final assignment for the **Web Development V2 Module**. |
| 6 | +Built with semantic HTML5, modular CSS, and progressive JavaScript — optimized for clarity, performance, and accessibility. |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## 🚀 Live Demo |
| 11 | + |
| 12 | +- 🌍 [GitHub Pages](https://augusto047.github.io/augusto-mate_web-development-final/) |
| 13 | +- ⚡ [Netlify](https://augusto-mate-site.netlify.app) |
| 14 | +- 🧭 [Vercel](https://augusto-mate-site.vercel.app) |
| 15 | + |
| 16 | +--- |
| 17 | + |
| 18 | +## ✨ Features |
| 19 | + |
| 20 | +- ✅ Semantic HTML5 with landmarks and ARIA roles |
| 21 | +- 📱 Responsive layout with fluid typography and grid system |
| 22 | +- 🎛️ Interactive components: menu toggle, theme switch, slider, lightbox, counters |
| 23 | +- 🧑🦽 Accessible form with inline validation and conditional logic |
| 24 | +- 🎯 Presentation mode: press `H` to highlight cursor focus |
| 25 | +- 🔍 SEO and Open Graph metadata for rich previews |
| 26 | +- 🎨 Polished UI with system font stack and dark/light theme toggle |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## 🧱 Architecture |
| 31 | + |
| 32 | +- **HTML:** Semantic structure with minimal ARIA |
| 33 | +- **CSS:** Custom properties, responsive grid/flex, fluid type |
| 34 | +- **JavaScript:** Progressive enhancement, IntersectionObserver, localStorage |
| 35 | +- **Pages:** Home, About, Services, Gallery, Contact, Credits |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +## ♿ Accessibility |
| 40 | + |
| 41 | +- 🔗 Skip link to main content |
| 42 | +- ⌨️ Full keyboard navigation |
| 43 | +- 🧠 ARIA roles and labels where needed |
| 44 | +- 👁️ Visible focus states and focus return |
| 45 | +- 📣 Live regions for form feedback |
| 46 | + |
| 47 | +--- |
| 48 | + |
| 49 | +## ⚙️ Performance |
| 50 | + |
| 51 | +- 🖼️ Optimized hero image (WebP/JPG) with explicit dimensions |
| 52 | +- 🧩 SVG icons and illustrations |
| 53 | +- 🧵 Single CSS file and minimal JS |
| 54 | +- 💤 Lazy loading for non-critical images |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +## 🧪 Validation & QA |
| 59 | + |
| 60 | +- ✅ [HTML Validator](https://validator.w3.org/) |
| 61 | +- ✅ [CSS Validator](https://jigsaw.w3.org/css-validator/) |
| 62 | +- ✅ Accessibility: axe DevTools, Lighthouse |
| 63 | +- ✅ Browsers tested: Chrome, Edge, Firefox (desktop & mobile) |
| 64 | + |
| 65 | +--- |
| 66 | + |
| 67 | +## 📂 Project Structure |
| 68 | + |
| 69 | +augusto-mate_web-development-final_v5.0.0/ |
| 70 | +├── index.html |
| 71 | +├── pages/ |
| 72 | +│ ├── about.html |
| 73 | +│ ├── services.html |
| 74 | +│ ├── gallery.html |
| 75 | +│ ├── contact.html |
| 76 | +│ └── credits.html |
| 77 | +├── css/ |
| 78 | +│ └── style.css |
| 79 | +├── js/ |
| 80 | +│ └── main.js |
| 81 | +├── images/ |
| 82 | +│ ├── about-bg.svg |
| 83 | +│ ├── about-photo.webp |
| 84 | +│ ├── contact-bg.svg |
| 85 | +│ ├── favicon.svg |
| 86 | +│ ├── gallery-bg.svg |
| 87 | +│ ├── hero-bg.svg |
| 88 | +│ ├── hero-photo.jpg |
| 89 | +│ ├── hero-photo.webp |
| 90 | +│ ├── logo.svg |
| 91 | +│ ├── slide-1.svg |
| 92 | +│ ├── slide-2.svg |
| 93 | +│ └── slide-3.svg |
| 94 | +├── README.md |
| 95 | +├── LICENSE.md |
| 96 | +├── SITE_PLAN.md |
| 97 | +└── CHANGELOG.md |
| 98 | + |
| 99 | +--- |
| 100 | + |
| 101 | +## 🛠 Getting Started |
| 102 | + |
| 103 | +- 🔧 Option 1: Open `index.html` directly in your browser |
| 104 | +- 🔧 Option 2: Serve locally |
| 105 | + - Python: `python -m http.server 8080` |
| 106 | + - Node: `npx http-server -p 8080` |
| 107 | + - Visit: `http://localhost:8080` |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +## 📦 Deployment |
| 112 | + |
| 113 | +- 🐙 GitHub Pages: root directory, main branch |
| 114 | +- ⚡ Netlify: drag-and-drop or Git integration |
| 115 | +- 🧭 Vercel: import repo, framework “Other (Static)”, output at root |
| 116 | + |
| 117 | +--- |
| 118 | + |
| 119 | +## 📜 License |
| 120 | + |
| 121 | +This project is licensed under the MIT License. |
| 122 | +See [LICENSE.md](./LICENSE.md) for full terms. |
| 123 | + |
| 124 | +--- |
| 125 | + |
| 126 | +## 👤 Author |
| 127 | + |
| 128 | +- **Name:** Augusto Mate |
| 129 | +- **Location:** Matola, Mozambique |
| 130 | +- **Module:** Web Development V2 |
| 131 | +- **Submission:** Final Assignment — August 2025 |
0 commit comments