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
yarn
to 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:fix
to 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
--filter
to 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. ⭐