p3.2 Certification Project // Field Guide Page
DESN 368
p3.2 Certification Project: Field Guide Page
Interactive Design ยท Build Phase
๐ค Submission
Submit to Canvas:
- Live site URL (deployed via GitHub Pages)
- GitHub repository link
- Screenshot of desktop view
- Screenshot of mobile view
๐ Context
This is the build phase for your Interactive Field Guide.
You've already designed the desktop and mobile layouts in Figma (Project 3.1).
Now you'll translate that design into functional HTML and CSS.
Foundation Tutorial:
Work through this Flexbox tutorial first: https://sicxz.github.io/flexbox-tutorial/
It covers the exact layout patterns you'll need. Reference it whenever you're stuck.
๐ก Objective
Build a responsive, single-page documentation site that matches your Figma design.
This project emphasizes semantic HTML structure and Flexbox-based layouts.
๐งฑ Code Requirements
1๏ธโฃ HTML Structure
Use semantic HTML throughout. Every design element from your mockup should map to proper tags:
Required sections:
<nav> โ Sidebar navigation (desktop) / Top navigation (mobile)
<header> โ Hero section with title, subtitle, and visual treatment
<main> โ Container for all content sections
<section> (5+) โ Each major content block with:
- Section heading (
<h2>)
- Paragraphs (
<p>)
- Code snippet or callout (
<code> or <pre>)
THIS IS JUST FOR LOOKS, ANYTHING CAN BE YOUR CODE SNIPPET.
<pre><code>content goes here</code></pre>
- List (
<ul> or <ol>)
- Image or icon (
<img>)
<footer> โ Copyright + two CTA buttons
Accessibility requirements:
- Alt text for all images
- Proper heading hierarchy (don't skip levels)
- Links must have descriptive text
2๏ธโฃ CSS Layout & Responsive Design
Desktop Layout (1440px)
- Fixed sidebar navigation (~300px wide)
- Main content uses remaining space
- Use Flexbox for:
- Overall page structure (sidebar + main)
- Section layouts
- Footer button arrangement
- Position at least 5 decorative elements (1 in each section) using
position: absolute
Mobile Layout (400px and below)
- Navigation moves to top (horizontal or stacked)
- All content stacks in single column
- Footer buttons stack vertically
- Decorative elements hidden or repositioned
Media query required at 640px breakpoint
3๏ธโฃ Visual Design Implementation
Typography
- Implement your 2 Google Fonts as designed
- Match your type scale from Figma
- Set appropriate line-heights for readability
- Consistent padding/margins throughout
- Visual hierarchy matches your design
- Content never touches viewport edges
4๏ธโฃ Case Study Page
Create a second HTML file: case-study.html
Include:
- "Back to Guide" link (returns to
index.html)
- 5 reflection sections with these prompts:
- Design Decisions: What design choices did you make and why?
- Technical Challenges: What was difficult to code? How did you solve it?
- Responsive Strategy: How did you adapt your design for mobile?
- Learning Moments: What did you learn about Flexbox or CSS positioning?
- Future Improvements: What would you add or change with more time?
Each section should have:
- Question as heading
- 2-3 paragraphs of reflection
- Same header/footer as main page
๐ ๏ธ Step-by-Step Process
Phase 1: Foundation (Use the tutorial)
- Set up HTML structure with semantic tags
- Build a desktop sidebar layout with Flexbox
- Style one content section completely
- Test: Does it match your Figma design?
Phase 2: Content
- Add all 5+ sections with real content
- Style code snippets and lists
- Add images with proper sizing
- Place decorative elements
Phase 3: Responsive
- Add mobile-first media query
- Convert sidebar to top nav
- Stack footer buttons
- Hide/adjust decorative elements
- Test at multiple viewport sizes
Phase 4: Polish
- Check all links work
- Validate HTML (W3C Validator)
- Test in different browsers
- Deploy to Netlify
- Build case study page
๐ฏ Getting Unstuck
Layout issues? โ Review the Flexbox tutorial sections on:
- Sidebar layouts
- Content centering
- Space distribution
Responsive problems? โ Check your media query syntax and test at exact breakpoint
Design not matching? โ Use browser DevTools to inspect spacing and compare to Figma measurements
Deployment help? โ See Netlify setup guide in Canvas modules
โ
Deliverable Checklist
Code Quality
- โ Semantic HTML throughout
- โ No layout tables or unnecessary divs
- โ CSS organized with comments
- โ Color palette uses CSS variables
- โ Google Fonts loaded correctly
Desktop Layout (1440px)
- โ Fixed sidebar navigation
- โ Hero section with visual treatment
- โ 5+ styled content sections
- โ 2+ positioned decorative elements
- โ Footer with 2 side-by-side CTA buttons
Mobile Layout (375px)
- โ Top navigation (responsive)
- โ Single-column content
- โ Stacked footer buttons
- โ Decorative elements hidden/adjusted
- โ All content readable
Functionality
- โ All navigation links work
- โ External links open in new tab
- โ Case study page complete with 5 reflections
- โ "Back to Guide" link functional
- โ Site deployed and accessible
Deployment
- โ Live site on GitHub
- โ URL submitted to Canvas
- โ GitHub repo public and linked
๐ Resources
Flexbox
Positioning
Responsive Design
General
๐ฏ Learning Objectives
By the end of this project, you should be able to:
- Translate visual designs into semantic HTML structure
- Build flexible layouts using Flexbox
- Implement responsive design with media queries
- Use CSS positioning for decorative elements
- Deploy a static site to a live server
- Reflect on technical decisions and problem-solving approaches
๐งฉ Evaluation Rubric (100 pts)
| Category |
Points |
Criteria |
| HTML Structure |
20 |
Semantic tags, proper hierarchy, accessibility |
| Desktop Layout |
25 |
Sidebar + flexbox, matches design, decorative elements |
| Mobile Responsive |
20 |
Media query, stacked layout, functional nav |
| Visual Design |
15 |
Typography, colors, spacing match Figma |
| Case Study |
10 |
Complete reflections, thoughtful analysis |
| Deployment & Documentation |
10 |
Live site, clean code, GitHub repo |
๐ก Design-to-Code Mindset
You're not just "making it look right"โyou're building a system.
Notice how Flexbox properties change layouts.
Pay attention to what breaks at different screen sizes.
Document what you learn in your case study.
Good code is readable code. Future you (and your portfolio reviewers) will thank you for clean HTML and organized CSS.