Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of visual testing epic #13043

Open
36 of 145 tasks
corwintines opened this issue May 27, 2024 · 17 comments
Open
36 of 145 tasks

Implementation of visual testing epic #13043

corwintines opened this issue May 27, 2024 · 17 comments
Assignees
Labels
epic 💪 This issue is an epic on our product roadmap good first issue Good item to try if you're new to contributing hacktoberfest Track hacktoberfest activity hacktoberfest-beginner GFI for hacktoberfest participants help wanted Extra attention is needed or someone is needed to help

Comments

@corwintines
Copy link
Member

corwintines commented May 27, 2024

This is part of our Testing epic from our Q2 roadmap.

Description

We have implemented support for storybook to do testing on ethereum.org. We would like to be able to catch visual regressions before they reach production, helping us build confidence so that we can improve stability of ethereum.org through a testing suite. The first phase of this will be implementing visual storybook tests on our suite of components.

Below is the list of components in the ethereum.org repo, broken down by Atomic design.

How to contribute

If you’d like to help with adding stories for components, please follow these steps:

  1. Read the storybook documentation for the project
  2. Leave a comment here asking which component you would ke to work out. We will be going from the top of the list to bottom (Atoms to Pages).
  3. We assign you to the file (by adding your handle next to the file name in the list).
    • Read and follow our storybook implementation guide for some tips & guidance.
    • If you were assigned to multiple files then create a separate PR for each component. It will make the testing and review process much simpler and more organized.
  4. Once you finish it (PR merged), we’ll mark it as done.
  5. Repeat!

Components

Atoms

In Atomic Design, as in chemistry, atoms are the basic elements that help inform everything. In the world of web applications, atoms are the foundational elements, such as HTML tags, fonts, animations, and color palettes. Web design “atoms” can also be less concrete. Examples include buttons or forms.

Typeography

Media & icons - All visual references used in ethereum.org

  1. Status: Stale feature ✨
    tomasgrusz
  2. Status: Stale dev required testing
    Baystef
  3. needs triage 📥
    Baystef
  4. Status: Stale testing
    riwom

Forms - Base html components used in forms

Molecules

Molecules are the next-largest building block. Created by the joining of different atomic elements, molecules are complex by nature. Because they’re the product of various atoms, though, it’s possible to break them down, conceptually, into UI elements that are easier to digest. Examples of web design molecules include the things that become the backbone of the larger design system, such as form labels or input field.

Navigation - components used to navigate to other pages. Inner or external to ethereum.org.

  1. dev required hacktoberfest
    prxjwal
  2. feature ✨ good first issue help wanted
    riwom
  3. Baystef
  4. Status: Stale dev required
    Baystef
  5. Status: Stale dev required
    Baystef
  6. Status: Stale dev required testing
    pettinarip

Display content - components used to show data/information primary

  1. Status: Stale feature ✨ good first issue help wanted
  2. Status: Stale feature ✨ good first issue help wanted
    Baystef
  3. feature ✨ good first issue help wanted question ❓
    TylerAPfledderer
  4. feature ✨ good first issue help wanted
  5. Status: Stale dev required testing
    TylerAPfledderer

Disclosure content - components used to hide and show content useing interactive functions

Overlay content - components used on top from the main page

Action feedback - components used to show feedback of a user action

Organisms

Atoms combine to form molecules, and groups of molecules form organisms. In the world of Atomic Design, organisms are the UI elements that shape both the appearance and functionality of a website. They’re also the elements that start to impact user interface. The way a developer arranges molecules informs the site experience and the complexity of the finished product. Examples of organisms include logos, search fields, and main navigation which together may form a header organism.

Tasks

  1. Status: Stale feature ✨ good first issue help wanted

Snippets - composed components has use cases or references to display the same type of data

  1. Status: Stale feature ✨ good first issue help wanted

Templates

At this phase of the Atomic Design process, we start to break with the chemistry analogy and shift back into the lexicon of front-end development, as a whole. Templates, then, are “organisms” strung together at the page-level or beyond. Templates, online atoms, organisms, and molecules, are highly concrete. They provide a fixed context for the more abstract pieces to fit and are responsible for pulling the site together into something resembling its final form. An HTML wireframe is an excellent example of a template.

Templates - base pages to be used in creation of new content. They incorporate all of the components mandatory for the page

Pages

Pages, finally, are the final element of Atomic Design. According to Frost himself, pages are the specific instances of templates. Pages are the most tangible element of all and are the places users spend most of their time. They’re also one of the most essential phases of the Atomic Design process since the final iteration of pages is where developers get to see whether the entire design system is effective or not. In short, the final appearance of the pages dictates whether the product design is ready to launch, or whether the developer needs to loop back and make changes to earlier UI design elements.

Special cases - Pages that are unique and require custom made components

  1. Status: Stale feature ✨ good first issue help wanted
    corwintines
  2. Status: Stale feature ✨ good first issue help wanted

Pages - List of pages with final content to showcase and inspire


How to contribute

If you’d like to help with adding stories for components, please follow these steps:

  1. Read the storybook documentation for the project
  2. Leave a comment here asking which component you would ke to work out. We will be going from the top of the list to bottom (Atoms to Pages).
  3. We assign you to the file (by adding your handle next to the file name in the list).
    • Read and follow our storybook implementation guide for some tips & guidance.
    • If you were assigned to multiple files then create a separate PR for each component. It will make the testing and review process much simpler and more organized.
  4. Once you finish it (PR merged), we’ll mark it as done.
  5. Repeat!
@github-actions github-actions bot added the needs triage 📥 This issue needs triaged before being worked on label May 27, 2024
@corwintines corwintines changed the title [WIP] Implementation of visual testing epic Implementation of visual testing epic May 27, 2024
@TommWolf
Copy link

For me it does not matter on which component I will work. I simply want to help.

@corwintines
Copy link
Member Author

Awesome, thanks @TommWolf!

I created an issue for the Logo component: #13067

If you comment in this issue, ill assign you :)

@TylerAPfledderer
Copy link
Contributor

@corwintines noting here that I have #12960 up for RootLayout (now becoming BaseLayout), and looking at building a consolidated layout as discussed previously with Pablo and Nuno.

@wackerow wackerow added help wanted Extra attention is needed or someone is needed to help good first issue Good item to try if you're new to contributing epic 💪 This issue is an epic on our product roadmap and removed needs triage 📥 This issue needs triaged before being worked on labels Jun 6, 2024
@wackerow
Copy link
Member

wackerow commented Jun 7, 2024

Started attaching the sub-task Issues as "milestones" for this epic (13043) to help track

@corwintines corwintines pinned this issue Jun 10, 2024
@pettinarip
Copy link
Member

Hey @corwintines could you assign me the TableOfContents? wip #13156

@wackerow wackerow added good first issue Good item to try if you're new to contributing and removed good first issue Good item to try if you're new to contributing labels Jun 13, 2024
@corwintines
Copy link
Member Author

@pettinarip created an issue and assigned. Will update description over there.

@Baystef
Copy link
Contributor

Baystef commented Jun 20, 2024

Hi @corwintines , I'll like to be assigned the MergeInfoGraphic story. Thanks

@tomasgrusz
Copy link
Contributor

Hey, would love to help out with this, happy to start working on Form components (e.g. Buttons, Inputs, Checkbox,..) one by one.

@TylerAPfledderer
Copy link
Contributor

Hey, would love to help out with this, happy to start working on Form components (e.g. Buttons, Inputs, Checkbox,..) one by one.

Hey @tomasgrusz ! Those components already have stories. They are shown as checked and only here for the organization of the list :)

@tomasgrusz
Copy link
Contributor

Hey, would love to help out with this, happy to start working on Form components (e.g. Buttons, Inputs, Checkbox,..) one by one.

Hey @tomasgrusz ! Those components already have stories. They are shown as checked and only here for the organization of the list :)

My mistake @TylerAPfledderer. In that case, I'm happy to pick up any of the remaining Atom components so that we can have all of them done.

@corwintines
Copy link
Member Author

@tomasgrusz I pinged you in #13067 just now. If you are open for it, will assign :)

@Baystef
Copy link
Contributor

Baystef commented Jun 27, 2024

@wackerow I'll like to be assigned the TranslationChartImage story. Please help create an issue for it and assign it to me

@Baystef
Copy link
Contributor

Baystef commented Aug 7, 2024

@wackerow @corwintines I'll like to work on the CallToContribute component under Molecules.

@corwintines
Copy link
Member Author

Creating those issues now for you @Baystef. Thank you for your patience and taking those on!

@Baystef
Copy link
Contributor

Baystef commented Sep 9, 2024

@corwintines Please assign Contributors and DeveloperDocsLinks to me. Thanks

@corwintines corwintines added the hacktoberfest Track hacktoberfest activity label Sep 30, 2024
@isabelladebrito isabelladebrito added the hacktoberfest-beginner GFI for hacktoberfest participants label Oct 2, 2024
@prxjwal
Copy link

prxjwal commented Oct 2, 2024

@corwintines I would like to work on BannerNotification pls assign

@corwintines
Copy link
Member Author

Will create the issue for you now @prxjwal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic 💪 This issue is an epic on our product roadmap good first issue Good item to try if you're new to contributing hacktoberfest Track hacktoberfest activity hacktoberfest-beginner GFI for hacktoberfest participants help wanted Extra attention is needed or someone is needed to help
Projects
None yet
Development

No branches or pull requests

10 participants