Skip to content

ijlee2/ember-workshop

Repository files navigation

ember-workshop

A demo app to illustrate core concepts in Ember

Important

What's new in v6:

  • <template> tag everywhere
  • Extracted reusable code to v2 addon
  • Simplified writing tests

Setup

Install dependencies
  1. Clone this repo.

    git clone [email protected]:ijlee2/ember-workshop.git
  2. Change directory.

    cd ember-workshop
  3. Use pnpm to install dependencies.

    pnpm install
Run the app
  1. Once dependencies have been installed, you can run the app.

    # From the workspace root
    pnpm start
  2. Open the app at http://localhost:4200.

Check and fix errors
  1. As you write code, please check that it meets formatting and linting rules.

    # From the workspace root
    pnpm lint
  2. You can run lint:fix to fix errors.

    # From the workspace root
    pnpm lint:fix
Run tests
  1. When you write code, please check that all tests continue to pass.

    # From the workspace root
    pnpm test

Syllabus

Each day (session) may 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 Ember CLI
  • Understand syntax for components
  • Write components that are accessible, extensible, and maintainable
  • A brief look at helpers, modifiers, and utilities

Day 2

Learning outcomes:

  • Understand syntax for routes
  • Make API requests
  • Compare nested and sibling routes
  • Run A/B testing
  • A brief look at ember-concurrency

Day 3

Learning outcomes:

  • Apply best practices for writing tests
  • Create test helpers and custom assertions
  • Extract business logic to a utility class
  • Test error and loading routes
  • A brief look at miragejs and sinon

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. ⭐

Contributors 2

  •  
  •