The goal of this test is to evaluate your ability to create components that are reusable and consistent throughout the design system. You will be given access to a Figma file containing designs for a set of components, and a list of design tokens that you should use to style these components. Using Storybook, you will create a simulated design system that showcases these components and their variations.
To successfully complete this test, you will need to follow these guidelines:
- Use the Figma designs as a reference to create the components within Storybook.
- Utilize the design tokens provided to style the components within Storybook.
- Ensure that the components are reusable and accessible.
- Write clean, organized, type-safe, and maintainable code that adheres to industry best practices.
- Go to https://github.com/new/import.
- Paste the URL of this repository into the "The URL for your source repository" field.
- Choose a name for your mirror repository, and make it private.
- Clone your mirror repository to your local machine.
- Run
yarn install
to install dependencies. - Run
yarn run storybook
to start the Storybook server. - Open
http://localhost:6006
in your browser. - Continue to the next section.
- In the
src/
directory, you will find the following structure:
src/
├─ FormItem/
│ ├─ docs/
│ │ ├─ FormItem.stories.tsx
│ ├─ FormItem.tsx
│ ├─ FormItem.module.css
├─ Input/
│ ├─ docs/
│ │ ├─ Input.stories.tsx
│ ├─ Input.tsx
│ ├─ Input.module.css
Each component has its own folder, containing the source React component, stylesheet, as well as a Storybook story file.
- Start with adding design tokens to your project. You are free to implement them the way you want.
- Create the
FormItem
component. Showcase it well in your Storybook. - Create the
Input
component, and showcase it too. Note that this component is to be a primitive component. - Create a separate component that uses both the
FormItem
andInput
in one:PasswordInput
component. Showcase this well. - Bonus:
- Add unit tests
- Update the look & feel of the Storybook environment
- Commit your changes to your mirror repository.
- Add [email protected] as a collaborator.
- Email [email protected] and [email protected] a link to your repository.
- Take inspiration from public design systems, example.
- Use third party libraries, but reconsider when you don’t need to.
- Create & rename files, change the project file structure, as well as use
.mdx
instead of.tsx
for story files if you want.
- Plagiarize or clone code from other resources.
- Deviate from the Figma design.
- Use unsafe typing.
Feel free to reach out to [email protected] for any questions or concerns.
Good luck!