ember-workshop
ember-workshop copied to clipboard
A demo app to illustrate core concepts in Ember
ember-workshop
A demo app to illustrate core and latest concepts in Ember.js
Setup
Installation
-
Clone this repo.
git clone [email protected]:ijlee2/ember-workshop.git -
Change directory.
cd ember-workshop -
Use
yarnto install dependencies.yarn install
Running demo app
-
After following the installation step, you can run the app.
ember serve -
Open the app at http://localhost:4200.
Linting
-
When you write code, please check if it meets linter standards.
yarn lint -
You can run
yarn lint:fixto automatically fix CSS, HBS, and JS files.
Running tests
-
When you write code, please check if all tests continue to pass.
ember test --server -
You can add the flag
--filterto run a subset of tests.
Syllabus
Each day (session) is designed to take around 5 hours, not counting breaks. There is an optional homework at the end of each day. The sessions are spread apart by a week or two.
Day 1
Learning outcomes:
- Navigate the folder structure
- Familiarize with the Ember CLI
- Understand syntax for components
- Design components that are accessible, extensible, and maintainable
- A brief look at helper, modifier, and utility
Day 2
Learning outcomes:
- Load data and respond to the user
- Understand syntax for routes
- Analyze tradeoff between a nested and sibling route
- Inject a service to run A/B testing
- A brief look at
ember-concurrency
Day 3
Learning outcomes:
- Understand syntax for tests
- Recognize what to test in a unit, rendering, or application test
- Develop best practices for writing tests
- Create test helpers and custom assertions
- A brief look at
ember-a11y-testing,ember-cli-mirage, andsinon.js
Day 4 (in planning)
Learning outcomes:
- Create an addon
- Create an engine
- Server-side render with FastBoot
Target Audience
I designed the app with 2 goals in mind:
- Help onboard developers to Ember.js
- Help existing users adopt newer patterns
Due to lack of time, I didn't write a step-by-step guide that would let you pursue self-learning. I hope to do so in the future.
For now, if you have a mentor role, please go over the commit history to decide what to cover in your onboarding.
Contributing
To provide feedback, you can reach out to me on Discord at ijlee2. Please star this project so that I can gauge its importance to you and the Ember community. ⭐