-
Notifications
You must be signed in to change notification settings - Fork 13
Website UI Kit design/dev project #4
Description
Introduction
While updating the visual style of the website in this PR, I noticed that the website is lacking a way to keep repeated elements looking cohesive. In other words, there are a lot of places where components need to be created for even the smallest of elements that repeat on the website. Tailwind CSS is great, but I think only if used properly by applying the class names within a component instead of copying and pasting the classes every time you want to create a new element that uses the same visual style as something else.
So you might ask: What are the steps that we should take to resolve this problem?
It may seem like this is only a problem within the code, but I think we can use this problem to start defining design patterns across the site and see what we should keep, what to discard because it is redundant, and what styles we can make adjustments to.
This issue will require 2 types of work:
design - this will be labelled next to the step that requires work in Figma
development - this label will be added next to the step that requires coding
Step 1: Audit all design patterns on the website currently [design]
This is imperative so that we have an "inventory" of all the things that exist currently on the website to get an idea of what we are missing or need to improve the design of. At this stage, all visual elements on the website are sorted into buckets and we discuss what elements we need to add/remove/improve.
Step 2: Create components in Figma [design]
At this stage, we will start by assembling the smallest components (atoms) together to make larger components (molecules), and then assembling the larger components together to make complex components (organisms).
Step 3: Finalize components and develop in Storybook [design] [development]
Once we have a finalized version of all the components and their various states in Figma, we can begin to develop them within the Storybook of this repo. The collaboration between design and development here is important to the success of the working components. We will need to make sure the components are engineered to be dynamic.
Step 4: Test components, gather feedback, iterate on design [design] [development]
It is important to test the components and make sure that everything is working as expected. If a design when translated into code is not working out as planned or has failures, we can use this step to make any necessary changes.
Step 5: Document appropriate usage of components [design] [development]
Once we are finalized on our set of components, we will then need to document its usage both from a design perspective and an engineering perspective so that we ensure cohesiveness across community contributions.
As always, feedback is welcome on this proposal! 😄