-
Notifications
You must be signed in to change notification settings - Fork 3
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
React Workflow Training #195
Comments
Thought I'd throw my thoughts down here to start the convo. The easiest approach that we can take is probably a CRA + Storybook repo. Obviously the design can be made prettier before we hand it off to clients. Let's go through the checkpoints starting at the top, and see how many it hits. I'm gonna start with the Modlet Development checklist. This repo uses the "Modlet" architecture that we use at Bitovi in other projects. 1. They can readily create new components in isolation from the "main" application. 2. Those components should have a demo page. 3. Those components should have unit tests. 4. The component should be able to have styles (ideally imported from the Design work). 5. The demo page should be able to import other helpers (things like fixtures) to make the demo page work more easily. 6. The tests for the component should be able to be run without having to run other components tests. 7. Everything above should work without configuration (just create a folder). 8. The tests should be able to run even if there's a syntax error in code not used by those tests. 9. The demo page should be able to run even if there's a syntax error in the application (but not in code directly used by the demo). 10. The component should be able to have "localized" styles. Meaning the styles are not going to "leak" outside the component. 11. How to "publish" their storybook (gh-pages?) |
Love the app/codebase @dcrescim! I just submitted a PR with some additional features: https://github.com/dcrescim/react-storybook-todo/pull/1 The changes reinforce some of the already checked boxes, specifically I added a script to automatically generate component "modlets", and one to run the tests before code can be pushed. I also added functional testing support with cypress (the tests themselves still need to be written, but the lib is setup), as-well as a script for running the tests in Github actions CI on push. From the list above, I think we can comfortably check off the following sections:
One question I do have: Is the client looking for recommendations on which libraries to use. For example, should we suggest a particular styling library? I also remember Brian mentioning that they're using Material Design, maybe we should re-design the TODO app to use something like https://material-ui.com/ A final consideration is migration. If I remember correctly, they're migrating an existing codebase from Angular to React? If so, it'd be nice to see their current setup, specifically around folder structure, CSS, and test data so that we can make more compatible suggestions. Here's what I see as the next steps:
|
This is proof that the tests can be run truly independently. In TypeScript reactors, having to keep the entire build working at all times was very difficult. A less comprehensive version of this would be to make it so tests can run even if there's code like the following in another unrelated module: import SomethingThatNoLongerHasAFuncMethod from "used-to-funk";
SomethingThatNoLongerHasAFuncMethod.funk(); |
As a React Trainer, I would like:
Workflows
Design Driven Development
Demonstrate a workflow for designers where:
{props.name}
aren't inserted into HTML.Demonstrate how developers can take the Design work and make use of it. (This is really #2 above).
Modlet Development
Demonstrate a workflow for developers where:
Testing
Demonstrate a workflow for Developers (and or QE) where:
Bonus Patterns?
Fixtures
Demonstrate a workflow for developers where:
Steps
The text was updated successfully, but these errors were encountered: