Hogwarts is an Ember.js v3.28.6 application for Data Sources creation and management. It provides the UI for connecting Intelligent Content to various client data sources.
- Always use
yarn(configured via volta in root package.json) - Never use
npmcommands in this workspace
- Development server:
yarn startorember server --port 2001 - Default port: 2001 (not the standard 4200)
- Cannot run independently - requires Rails server connection at
/data_sourcesroute - Test URL:
http://localhost:2001/tests
- Test command:
yarn test(uses ember-exam for parallel execution) - Browser: Chrome (headless in CI)
- Test framework: QUnit via Ember Test Helpers
- Visual testing: Percy integration available
- Test locations:
- Component tests:
/tests/integration/components/ - Acceptance tests:
/tests/acceptance/ - Unit tests:
/tests/unit/ - Test helpers:
/tests/helpers/
- Component tests:
- JavaScript linting:
yarn lint-js(ESLint) - Template linting:
yarn lint-hbs(ember-template-lint) - Always run linting before committing
- Components:
/app/components/with.hbsand.jsfiles - Routes:
/app/routes/ - Controllers:
/app/controllers/ - Models:
/app/models/ - Services:
/app/services/ - Styles:
/app/styles/(SCSS with PostCSS and Tailwind)
- Use Ember Data for models and API interactions
- Mirage for mocking in development/tests
- Page Objects pattern for testing (ember-cli-page-object)
- Follow Ember conventions for naming and file organization
- Use Ember Test Helpers for test utilities
- Component tests: Use integration tests for component behavior
- Acceptance tests: Use for user workflows and features
- Page objects: Create reusable page objects for complex UI interactions
- Test helpers: Utilize existing helpers in
/tests/helpers/
- Build:
yarn buildorember build - Environment: Test/staging/production environments configured
- Percy: Visual regression testing available via CI
- Ember.js 3.28.6
- Ember Data
- Ember CLI Mirage
- Percy (visual testing)
- SCSS/PostCSS/Tailwind
- ESLint & ember-template-lint
- This is a legacy Ember app (v3.x) - follow Ember 3.x patterns
- Requires Rails backend connection for full functionality
- Uses yarn workspaces from monorepo root