Welcome to the UI to React Component Conversion challenge! This exercise is designed to help you practice breaking down static HTML/CSS UIs into reusable, maintainable React components.
You will be working with three sample UIs:
- User Profile Card
- Movie Theatre Seating Page
- Task Management Dashboard
Convert the given HTML + CSS templates into modern, clean React components. This will help you:
- Structure layouts with JSX
- Use props to pass data to child componenets
- Build reusable components
- Think in terms of composition and modularity
Each project has a folder with:
index.html
(sample UI)style.css
- Screenshot of the final UI
Your goal is to replicate the design as a React app using modern practices.
A simple profile card showing name, avatar, location, and bio.
React Components to create:
UserProfileCard
This page shows seats in a movie theatre, divided by pricing categories. Occupied and available seats are visually differentiated.
React Components to create:
TheatreLayout
SeatRow
Seat
- Represent each category and seat with props
A dashboard to manage tasks grouped by status (To Do, In Progress, Done). Each task shows its priority and assignee.
React Components to create:
TaskBoard
TaskColumn
TaskCard
AddTaskButton
- Start simple, and refactor into components.
- Use
props
to pass down data likename
,priority
,seatType
, etc. - Stick to function components
- Keep styling either inline, in CSS modules, or Tailwind (your choice).
react-ui-challenges/
│
├── user-profile/
│ ├── index.html
│ ├── styles.css
│ └── screenshot.png
│
├── movie-theatre/
│ ├── index.html
│ ├── styles.css
│ └── screenshot.png
│
├── task-dashboard/
│ ├── index.html
│ ├── styles.css
│ └── screenshot.png
│
├── README.md
└── /screenshots
- A React project for each UI with cleanly separated components
- Screenshots of your final results
- A README inside each React app explaining your approach (optional but recommended)
Happy coding! 🚀