Skip to content

Latest commit

 

History

History
161 lines (127 loc) · 4.56 KB

File metadata and controls

161 lines (127 loc) · 4.56 KB

Design System in Figma + React Native — Course Outline

A course for hybrid designers and frontend engineers. Two parallel tracks — Figma (design library) and Code (React Native component library) — built simultaneously so students see every decision made in both mediums.


Module 0 — Course Overview & Setup

  • What a design system is and why both tracks matter
  • Tools: Figma (variables, components, auto layout), Expo + React Native, a token pipeline (Style Dictionary or equivalent)
  • Repo structure and Figma file structure walkthrough
  • How design tokens bridge the two tracks

Module 1 — Foundations (Tokens)

Each lesson covers the concept, the Figma implementation, and the code implementation side-by-side.

Lesson Figma Code
Color Color styles → Figma Variables (primitives + semantic aliases) Theme object, StyleSheet constants
Typography Text styles, type scale, font choices Text variants, font loading in Expo
Spacing Spacing scale as variables Spacing constants, consistent gap/padding
Border Radius & Borders Radius variables, stroke styles Radius tokens
Elevation / Shadow Layer blur + spread styles shadow* props, platform handling
Grid & Layout Auto layout, layout grids on frames Flexbox patterns, SafeAreaView, responsive units
Iconography Icon component setup, naming conventions react-native-vector-icons or custom SVG setup

Module 2 — Component Creation

Reference: component.gallery/components

All 60 components from The Component Gallery:

  1. Accordion
  2. Alert
  3. Avatar
  4. Badge
  5. Breadcrumbs
  6. Button
  7. Button group
  8. Card
  9. Carousel
  10. Checkbox
  11. Color picker
  12. Combobox
  13. Date input
  14. Datepicker
  15. Drawer
  16. Dropdown menu
  17. Empty state
  18. Fieldset
  19. File
  20. File upload
  21. Footer
  22. Form
  23. Header
  24. Heading
  25. Hero
  26. Icon
  27. Image
  28. Label
  29. Link
  30. List
  31. Modal
  32. Navigation
  33. Pagination
  34. Popover
  35. Progress bar
  36. Progress indicator
  37. Quote
  38. Radio button
  39. Rating
  40. Rich text editor
  41. Search input
  42. Segmented control
  43. Select
  44. Separator
  45. Skeleton
  46. Skip link
  47. Slider
  48. Spinner
  49. Stack
  50. Stepper
  51. Table
  52. Tabs
  53. Text input
  54. Textarea
  55. Toast
  56. Toggle
  57. Tooltip
  58. Tree view
  59. Video
  60. Visually hidden

Note: A handful of these are web-centric and may need adaptation or replacement for React Native: Color picker, Rich text editor, Skip link, and Visually hidden. The rest map cleanly to native UI patterns.

Each component lesson structure

  1. Why — the problem this component solves
  2. Figma — build the component live (auto layout, variants, interactive states via component properties)
  3. Code — build it in React Native (props API, style tokens, platform considerations)
  4. Bridge — explicitly connect the two (e.g., "this Figma variant maps to this RN prop")

Module 3 — Templates / Screens

Combine components into full screens. Each template is built as a Figma frame and a React Native screen.

  • Onboarding flow — splash, sign in, sign up
  • Home / Dashboard — cards, list items, header
  • Detail / Profile — avatar, stats, tabs
  • Form / Settings — grouped inputs, toggles, selects
  • Empty states & Error screens

Module 4 — Prototyping

Figma

  • Linking screens with interactions and transitions
  • Smart animate, scroll, overlays
  • Sharing a clickable prototype

Code (React Native)

  • React Navigation setup (stack, tab, drawer)
  • Wiring screens together with real navigation
  • Adding gesture interactions (swipe, pull-to-refresh)
  • Running on device / simulator via Expo Go

Module 5 — Publishing & Handoff

  • Publishing the Figma library for a team
  • Documenting components (Storybook for RN, or inline docs)
  • Versioning the token pipeline
  • The handoff workflow: how a designer and engineer use this system together

Lesson Rhythm

Every lesson follows this consistent structure:

  1. Why — the problem this element solves
  2. Figma — build it live
  3. Code — build it live
  4. Bridge — explicitly connect the two (e.g., "this Figma variable maps to this token in code")

Key Decisions to Finalize Before Scripting

  • Token pipeline tool (Style Dictionary is the most common bridge between Figma Variables and code)
  • Target platforms: iOS / Android / Web or all three
  • Component scope for Module 2 — curating 15–20 well is better than rushing all 60