A demo app to illustrate core concepts in Ember
Important
What's new in v5
:
- Embroider on strict mode
- TypeScript and Glint
<template>
tag- Styling app with
embroider-css-modules
- Creating a v2 addon
Install dependencies
-
Clone this repo.
git clone git@github.com:ijlee2/ember-workshop.git
-
Change directory.
cd ember-workshop
-
Use
pnpm
to install dependencies.pnpm install
Run the app
-
Once dependencies have been installed, you can run the app.
# From the workspace root pnpm start
-
Open the app at http://localhost:4200.
Lint files
-
When you write code, please check that it meets the linting rules.
# From the workspace root pnpm lint
-
You can run
lint:fix
to automatically fix linting errors.# From the workspace root pnpm lint:fix
Run tests
-
When you write code, please check that all tests continue to pass.
# From the workspace root pnpm test
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.
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
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
Learning outcomes:
- 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
error
andloading
routes
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.
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. ⭐