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

TP_UI: Explore front end repo by creating Shape component & stories #140

Open
wijohnst opened this issue Mar 16, 2022 · 0 comments
Open
Labels

Comments

@wijohnst
Copy link
Owner

wijohnst commented Mar 16, 2022

Hello & Welcome to ThrivingPark!

ThrivingPark is a "community operating system" built for the beautiful Driving Park neighborhood on the south-side of Columbus, Ohio. Thank you for contributing your time and talent to improve the lives of your (new) neighbors! We're glad that you're here!

This issue is part of the front end repository (repo) where we use technologies like Typescript, React, and Storybook to maintain ThrivingPark's UIs and component library. This issue is designed to introduce the core patterns that we use to build components. In this issue you will be building the Shape component, an intentionally simple "demo" component.

Screen Shot 2022-03-16 at 7 23 17 PM

Don't let the simple designs fool you though. Even the most basic component should conform to the conventions and styles that underpin all of our front end work.

One of the principals that we use to design and implement our FE components is called Atomic Design. This methodology helps us to break our front ends into their most discrete units (Atoms) and assemble those basic building blocks into increasingly complex components and views. (Molecules and Pages). The Shape component that you'll be building is an Atom, so by its very nature it should be fairly simple.

Another principle that we will explore in this task and that we employ through the repo is Component Driven Development
. If Atomic Design is how we conceptualize and organize our components, Component Driven Development is how we implement them. By creating bottoms-up, modularized components we produce UIs that are simple to assemble and combine and that are infinitely reusable.

The tool that we use to manage both of these methodologies is Storybook. It allows us to isolate our components and organize them based on their Atomic taxonomy. It also provides functionality for creating "stories", which are the specific states for a given component.

In the case of the proposed Shape component we are asked to implement 3 stories:

  1. Default
  2. Rectangle
  3. Color

Screen Shot 2022-03-16 at 7 38 53 PM

To complete this task:

  1. Create a task branch off of the main branch. Please follow the project naming convention and name your branch task/FE-140/Shape-Component
  2. Create a new directory called Shape in src/stories/atoms
  3. Add the appropriate files to the new Shape directory:
  • Shape.tsx
  • Shape.style.ts
  • Shape.stories.tsx
  • Shape.test.ts
  1. Complete each of the file types, making sure to add the appropriate stories as per the designs
  2. Submit PR for review
@wijohnst wijohnst changed the title Explore front end repo by creating Shape component & stories TP_UI: Explore front end repo by creating Shape component & stories Apr 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

1 participant