diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index bff303ed8d..0000000000
--- a/.dockerignore
+++ /dev/null
@@ -1,11 +0,0 @@
-.dockerignore
-.env
-.git
-.gitignore
-.gitattributes
-.travis.yml
-bower_components
-Dockerfile
-dist
-node_modules
-tmp
diff --git a/.eslintignore b/.eslintignore
index 9385391f21..ef8a2c97b1 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,13 +1,13 @@
 # unconventional js
-/blueprints/*/files/
+/packages/*/blueprints/*/files/
 
 # compiled output
-/dist/
+/packages/*/dist/
 
 # misc
-/coverage/
+/packages/*/coverage/
 !.*
 .*/
 
 # ember-try
-/.node_modules.ember-try/
+/packages/*/.node_modules.ember-try/
diff --git a/.eslintrc.js b/.eslintrc.js
index 5990a6f69a..f623b2ec2c 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -35,13 +35,13 @@ module.exports = {
         './.prettierrc.js',
         './.stylelintrc.js',
         './.template-lintrc.js',
-        './ember-cli-build.js',
-        './testem.js',
-        './testem.browserstack.js',
-        './blueprints/*/index.js',
-        './config/**/*.js',
-        './lib/*/index.js',
-        './server/**/*.js',
+        './packages/frontend/lib/*/index.js',
+        './packages/*/ember-cli-build.js',
+        './packages/*/index.js',
+        './packages/*/testem.js',
+        './packages/frontend/testem.browserstack.js',
+        './packages/*/blueprints/*/index.js',
+        './packages/*/config/**/*.js',
       ],
       parserOptions: {
         sourceType: 'script',
diff --git a/.github/workflows/asset-size-check.yml b/.github/workflows/asset-size-check.yml
deleted file mode 100644
index 35462987a3..0000000000
--- a/.github/workflows/asset-size-check.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Ember Asset Sizes
-
-on: [pull_request]
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v4
-      with:
-        fetch-depth: 0
-    - uses: pnpm/action-setup@v2
-      with:
-        version: 8
-    - uses: mainmatter/ember-asset-size-action@v3
-      with:
-        repo-token: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml
index 238053ee12..a4ab74a211 100644
--- a/.github/workflows/auto-merge.yml
+++ b/.github/workflows/auto-merge.yml
@@ -9,7 +9,6 @@ jobs:
     strategy:
       matrix:
         safe-dependency:
-        - "@ilios/ember-template-lint-plugin"
         - "@sentry/ember"
         - "browserslist"
         - "caniuse-db"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fcaf14be9f..088f859dcb 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -78,7 +78,7 @@ jobs:
       - name: install dependencies
         run: pnpm install
       - name: test build
-        run: pnpm run build
+        run: pnpm run --filter frontend build
 
   browserstack-test:
     name: Browserstack ${{ matrix.launcher }}
@@ -114,10 +114,10 @@ jobs:
           # The Job ID + Run ID isn't unique across matrix runs and will fail when run simultaneously
           BROWSERSTACK_LOCAL_ID_SUFFIX: ${{ matrix.launcher }}
         run: |
-          pnpm run browserstack:connect
-          pnpm run test:ember:browserstack --launch=${{ matrix.launcher }}
-          pnpm run browserstack:disconnect
-          pnpm run browserstack:results
+          pnpm run --filter frontend browserstack:connect
+          pnpm run --filter frontend test:ember:browserstack --launch=${{ matrix.launcher }}
+          pnpm run --filter frontend browserstack:disconnect
+          pnpm run --filter frontend browserstack:results
 
   firefox-test:
     name: Browser Tests (Firefox)
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
deleted file mode 100644
index 5469526407..0000000000
--- a/.github/workflows/coverage.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-name: Report Code Coverage
-
-on:
-  schedule:
-    - cron: '15 18 * * 5' # weekly, on Friday night
-
-env:
-  SW_DISABLED: true
-  COVERAGE: true
-  CC_TEST_REPORTER_ID: 8c510ad3aa4b1a2a3d504dfdbcc5605e7966c019dc1e9b68a815de50b946ebc6
-
-jobs:
-  test:
-    name: Test and Calculate Coverage
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v4
-    - uses: pnpm/action-setup@v2
-      with:
-        version: 8
-    - uses: actions/setup-node@v4
-      with:
-        node-version: 18
-        cache: pnpm
-    - name: install dependencies
-      run: pnpm install
-    - name: calculate
-      uses: paambaati/codeclimate-action@v5.0.0
-      with:
-        coverageCommand: pnpm run test:ember
diff --git a/.github/workflows/deploy-pr.yml b/.github/workflows/deploy-pr.yml
index ccb12ae8a7..5f25ac48ea 100644
--- a/.github/workflows/deploy-pr.yml
+++ b/.github/workflows/deploy-pr.yml
@@ -25,6 +25,7 @@ jobs:
         cache: pnpm
     - run: pnpm install
     - name: Ember CLI Deploy
+      working-directory: ./packages/frontend
       run: node_modules/.bin/ember deploy pr-preview
       env:
         AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy-production.yml
index 2217dd7b22..c6891ef016 100644
--- a/.github/workflows/deploy-production.yml
+++ b/.github/workflows/deploy-production.yml
@@ -25,7 +25,7 @@ jobs:
         cache: pnpm
     - run: pnpm install
     - name: Ember CLI Deploy
-      run: pnpm run deploy:production
+      run: pnpm run --filter frontend deploy:production
       env:
         AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
         AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -37,7 +37,7 @@ jobs:
         export SENTRY_RELEASE=$(sentry-cli releases propose-version)
         sentry-cli releases new $SENTRY_RELEASE
         sentry-cli releases set-commits --auto $SENTRY_RELEASE
-        sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps tmp/deploy-dist/
+        sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps packages/frontend/tmp/deploy-dist/
         sentry-cli releases finalize $SENTRY_RELEASE
       env:
         SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
diff --git a/.github/workflows/deploy-staging.yml b/.github/workflows/deploy-staging.yml
index ae589c6992..22e95b1db3 100644
--- a/.github/workflows/deploy-staging.yml
+++ b/.github/workflows/deploy-staging.yml
@@ -23,7 +23,7 @@ jobs:
         cache: pnpm
     - run: pnpm install
     - name: Ember CLI Deploy
-      run: pnpm run deploy:staging
+      run: pnpm run --filter frontend deploy:staging
       env:
         AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
         AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
diff --git a/.github/workflows/percy.yml b/.github/workflows/percy.yml
index 6169df0172..5d0467f8db 100644
--- a/.github/workflows/percy.yml
+++ b/.github/workflows/percy.yml
@@ -1,14 +1,8 @@
 name: Percy Visual Tests
 
 on:
-  push:
-    tags:
-      - '*'
   pull_request_target:
     types: [labeled,opened,reopened,synchronize]
-  schedule:
-    - cron: "15 23 * * 2,4" # T,Th in the afternoon (UTC)
-  workflow_dispatch:
 
 concurrency:
   group: percy-${{ github.head_ref || github.ref }}
@@ -28,6 +22,8 @@ jobs:
     timeout-minutes: 20
     steps:
       - uses: actions/checkout@v4
+        with:
+          ref: "${{ github.event.pull_request.merge_commit_sha }}"
       - uses: pnpm/action-setup@v2
         with:
           version: 8
@@ -37,7 +33,7 @@ jobs:
           cache: pnpm
       - run: pnpm install
       - name: Run Percy Tests
-        run: pnpm run percy:test
+        run: pnpm run --filter frontend test:percy
       - uses: act10ns/slack@v2
         if: failure()
         with:
diff --git a/.github/workflows/tag_version.yaml b/.github/workflows/tag_version.yaml
index d9decf7ee0..84e3517c38 100644
--- a/.github/workflows/tag_version.yaml
+++ b/.github/workflows/tag_version.yaml
@@ -14,13 +14,9 @@ jobs:
     - uses: actions/checkout@v4
       with:
           token: ${{ secrets.ZORGBORT_TOKEN }}
-    - uses: pnpm/action-setup@v2
-      with:
-        version: 8
     - uses: actions/setup-node@v4
       with:
         node-version: 18
-        cache: pnpm
     - name: Validate releaseType
       run: npx in-string-list ${{ github.event.inputs.releaseType }} major,minor,patch
     - name: Setup Git
@@ -28,6 +24,15 @@ jobs:
         git config user.name Zorgbort
         git config user.email info@iliosproject.org
     - name: Increment Version
-      run: pnpm version ${{ github.event.inputs.releaseType }}
+      working-directory: ./packages/frontend
+      run: npx versionup --level ${{ github.event.inputs.releaseType }}
+    - run: |
+        NEW_TAG=`node -p "require('./packages/frontend/package.json').version"`
+        echo ${NEW_TAG}
+        echo "new_tag=${NEW_TAG}" >> $GITHUB_ENV
+    - name: Tag Version
+      run: |
+        git commit -a -m "${{env.new_tag}}"
+        git tag v${{env.new_tag}} -m "Tagging the v${{env.new_tag}} ${{ github.event.inputs.releaseType }} release"
     - name: Push Changes
       run: git push --follow-tags
diff --git a/.gitignore b/.gitignore
index ec4a7500d6..dbe5764f0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,32 +1,21 @@
-# compiled output
-/dist/
-/declarations/
+# See https://help.github.com/ignore-files/ for more about ignoring files.
 
 # dependencies
-/node_modules/
+node_modules/
 
 # misc
-/.env*
-/.pnp*
-/.eslintcache
-/coverage/
-/npm-debug.log*
-/testem.log
-/yarn-error.log
-
-lcov.dat
-sauce-example.log
+.env*
+.pnp*
+.pnpm-debug.log
+.sass-cache
+.eslintcache
+coverage/
+npm-debug.log*
+yarn-error.log
 
 # ember-try
 /.node_modules.ember-try/
-/npm-shrinkwrap.json.ember-try
 /package.json.ember-try
 /package-lock.json.ember-try
 /yarn.lock.ember-try
-
-# broccoli-debug
-/DEBUG/
-
-#browserstack via ember-cli-browserstack
-browserstack-local.pid
-local.log
+/pnpm-lock.ember-try.yaml
diff --git a/.lint-todo b/.lint-todo
deleted file mode 100644
index 7f02d68266..0000000000
--- a/.lint-todo
+++ /dev/null
@@ -1,234 +0,0 @@
-
-
-
-
-add|ember-template-lint|require-presentational-children|35|8|35|8|d5438b84487c5f3a6d6727f799488c66694e4bf2|1651017600000|1653609600000|1656201600000|app/components/course-search-result.hbs
-
-
-
-
-
-add|ember-template-lint|require-presentational-children|43|12|43|12|1feaae191a43b2433bfe69681dafa9bd2dbb6e82|1651017600000|1653609600000|1656201600000|app/components/global-search-box.hbs
-
-
-
-
-
-
-
-
-
-
-
-add|ember-template-lint|require-presentational-children|20|6|20|6|c5a6187196130cc3296ef3dbc64ee5f5ff5a6395|1651017600000|1653609600000|1656201600000|app/components/learnergroup-calendar.hbs
-add|ember-template-lint|require-presentational-children|26|6|26|6|3c5ff50ddbfccb95d877794d169e2184b81b0ebf|1651017600000|1653609600000|1656201600000|app/components/learnergroup-calendar.hbs
-
-
-add|ember-template-lint|require-presentational-children|41|16|41|16|2c0e802f8870a246522160f8ad9fe3f2df82700c|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-add|ember-template-lint|require-presentational-children|42|16|42|16|303798bf2d7c802f21c8b927d79c6346d0a1e1de|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-add|ember-template-lint|require-presentational-children|59|18|59|18|b2d395a69c0dff6cdfc1c7c3b342eaa4b0ef6c11|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-add|ember-template-lint|require-presentational-children|61|18|61|18|303798bf2d7c802f21c8b927d79c6346d0a1e1de|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-add|ember-template-lint|require-presentational-children|99|22|99|22|e8094c6dbfd595a75379e0286c29dedcbf62b6b4|1651017600000|1653609600000|1656201600000|app/components/learnergroup-list.hbs
-add|ember-template-lint|require-presentational-children|101|22|101|22|42b77ab3c30aae7685c4eedbe560b320edee253a|1651017600000|1653609600000|1656201600000|app/components/learnergroup-list.hbs
-
-
-
-
-
-
-
-add|ember-template-lint|no-autofocus-attribute|28|12|28|12|438b3b105276037fc1f0594dc46e727083aac033|1651017600000|1653609600000|1656201600000|app/components/login-form.hbs
-add|ember-template-lint|require-presentational-children|87|18|87|18|dc45dbaa985b505809e1ca441660e5429048c991|1651017600000|1653609600000|1656201600000|app/components/manage-users-summary.hbs
-
-
-
-
-add|ember-template-lint|require-presentational-children|115|18|115|18|47480b0614fb4959cd48a90d954d0b1e4ea073a8|1651017600000|1653609600000|1656201600000|app/components/new-myreport.hbs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-add|ember-template-lint|require-presentational-children|56|20|56|20|5ef9a660f2f0ea94861c3f3088bd67e5193f67d0|1651017600000|1653609600000|1656201600000|app/components/school-vocabularies-list.hbs
-add|ember-template-lint|require-presentational-children|54|14|54|14|876dfcb3439c0efbb46426d7ce6521438ec8e7b4|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-manager.hbs
-add|ember-template-lint|require-presentational-children|68|16|68|16|9de6755d3f9bb4aaa14f43907369578da5f4ec16|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-manager.hbs
-add|ember-template-lint|require-presentational-children|71|16|71|16|d0d2264f1f8e728171b7d15f7a7e343feaf1053b|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-manager.hbs
-
-add|ember-template-lint|require-presentational-children|111|14|111|14|876dfcb3439c0efbb46426d7ce6521438ec8e7b4|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-term-manager.hbs
-add|ember-template-lint|require-presentational-children|125|16|125|16|9de6755d3f9bb4aaa14f43907369578da5f4ec16|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-term-manager.hbs
-add|ember-template-lint|require-presentational-children|128|16|128|16|d0d2264f1f8e728171b7d15f7a7e343feaf1053b|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-term-manager.hbs
-
-
-
-
-
-add|ember-template-lint|require-presentational-children|11|6|11|6|c5a6187196130cc3296ef3dbc64ee5f5ff5a6395|1651017600000|1653609600000|1656201600000|app/components/user-profile-calendar.hbs
-add|ember-template-lint|require-presentational-children|17|6|17|6|3c5ff50ddbfccb95d877794d169e2184b81b0ebf|1651017600000|1653609600000|1656201600000|app/components/user-profile-calendar.hbs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-add|ember-template-lint|require-presentational-children|82|22|82|22|f07284d49443646868d889410613ebc7e7cef466|1651017600000|1653609600000|1656201600000|app/templates/pending-user-updates.hbs
-add|ember-template-lint|require-presentational-children|97|20|97|20|345afd41538c6cc791ec540186f8fc2980a305bd|1651017600000|1653609600000|1656201600000|app/templates/pending-user-updates.hbs
-add|ember-template-lint|require-presentational-children|111|20|111|20|bc1ecd33f126e9535e0f0b112c3289aa39fdf1d6|1651017600000|1653609600000|1656201600000|app/templates/pending-user-updates.hbs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-add|ember-template-lint|require-presentational-children|12|4|12|4|9ff73b7ab2d2a3ab215e112d343dd44b1cba517a|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/report-list-item.hbs
-add|ember-template-lint|require-presentational-children|78|8|78|8|cc092ac2c6e1080bdd07204035b20eddb4b41522|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/report-list-item.hbs
-
-add|ember-template-lint|require-presentational-children|33|14|33|14|6f5bd03b03df627ce9978a56bf5bca456c9b901a|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/report-overview.hbs
-
-
-
-
-add|ember-template-lint|require-presentational-children|55|8|55|8|42b77ab3c30aae7685c4eedbe560b320edee253a|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/sequence-block-list-item.hbs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-add|ember-template-lint|require-presentational-children|89|8|89|8|42b77ab3c30aae7685c4eedbe560b320edee253a|1651017600000|1653609600000|1656201600000|app/components/program-year/objective-list-item.hbs
-
-
-
-
-
-
-
-
-
-
-
-
-remove|ember-template-lint|require-presentational-children|89|8|89|8|42b77ab3c30aae7685c4eedbe560b320edee253a|1651017600000|1653609600000|1656201600000|app/components/program-year/objective-list-item.hbs
-remove|ember-template-lint|require-presentational-children|78|8|78|8|cc092ac2c6e1080bdd07204035b20eddb4b41522|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/report-list-item.hbs
-remove|ember-template-lint|require-presentational-children|20|6|20|6|c5a6187196130cc3296ef3dbc64ee5f5ff5a6395|1651017600000|1653609600000|1656201600000|app/components/learnergroup-calendar.hbs
-remove|ember-template-lint|require-presentational-children|26|6|26|6|3c5ff50ddbfccb95d877794d169e2184b81b0ebf|1651017600000|1653609600000|1656201600000|app/components/learnergroup-calendar.hbs
-remove|ember-template-lint|require-presentational-children|41|16|41|16|2c0e802f8870a246522160f8ad9fe3f2df82700c|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-remove|ember-template-lint|require-presentational-children|42|16|42|16|303798bf2d7c802f21c8b927d79c6346d0a1e1de|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-remove|ember-template-lint|require-presentational-children|59|18|59|18|b2d395a69c0dff6cdfc1c7c3b342eaa4b0ef6c11|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-remove|ember-template-lint|require-presentational-children|61|18|61|18|303798bf2d7c802f21c8b927d79c6346d0a1e1de|1651017600000|1653609600000|1656201600000|app/components/learnergroup-instructor-manager.hbs
-remove|ember-template-lint|require-presentational-children|99|22|99|22|e8094c6dbfd595a75379e0286c29dedcbf62b6b4|1651017600000|1653609600000|1656201600000|app/components/learnergroup-list.hbs
-remove|ember-template-lint|require-presentational-children|101|22|101|22|42b77ab3c30aae7685c4eedbe560b320edee253a|1651017600000|1653609600000|1656201600000|app/components/learnergroup-list.hbs
-remove|ember-template-lint|no-autofocus-attribute|28|12|28|12|438b3b105276037fc1f0594dc46e727083aac033|1651017600000|1653609600000|1656201600000|app/components/login-form.hbs
-remove|ember-template-lint|require-presentational-children|87|18|87|18|dc45dbaa985b505809e1ca441660e5429048c991|1651017600000|1653609600000|1656201600000|app/components/manage-users-summary.hbs
-remove|ember-template-lint|require-presentational-children|115|18|115|18|47480b0614fb4959cd48a90d954d0b1e4ea073a8|1651017600000|1653609600000|1656201600000|app/components/new-myreport.hbs
-remove|ember-template-lint|require-presentational-children|56|20|56|20|5ef9a660f2f0ea94861c3f3088bd67e5193f67d0|1651017600000|1653609600000|1656201600000|app/components/school-vocabularies-list.hbs
-remove|ember-template-lint|require-presentational-children|54|14|54|14|876dfcb3439c0efbb46426d7ce6521438ec8e7b4|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-manager.hbs
-remove|ember-template-lint|require-presentational-children|68|16|68|16|9de6755d3f9bb4aaa14f43907369578da5f4ec16|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-manager.hbs
-remove|ember-template-lint|require-presentational-children|71|16|71|16|d0d2264f1f8e728171b7d15f7a7e343feaf1053b|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-manager.hbs
-remove|ember-template-lint|require-presentational-children|111|14|111|14|876dfcb3439c0efbb46426d7ce6521438ec8e7b4|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-term-manager.hbs
-remove|ember-template-lint|require-presentational-children|125|16|125|16|9de6755d3f9bb4aaa14f43907369578da5f4ec16|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-term-manager.hbs
-remove|ember-template-lint|require-presentational-children|128|16|128|16|d0d2264f1f8e728171b7d15f7a7e343feaf1053b|1651017600000|1653609600000|1656201600000|app/components/school-vocabulary-term-manager.hbs
-remove|ember-template-lint|require-presentational-children|11|6|11|6|c5a6187196130cc3296ef3dbc64ee5f5ff5a6395|1651017600000|1653609600000|1656201600000|app/components/user-profile-calendar.hbs
-remove|ember-template-lint|require-presentational-children|17|6|17|6|3c5ff50ddbfccb95d877794d169e2184b81b0ebf|1651017600000|1653609600000|1656201600000|app/components/user-profile-calendar.hbs
-remove|ember-template-lint|require-presentational-children|82|22|82|22|f07284d49443646868d889410613ebc7e7cef466|1651017600000|1653609600000|1656201600000|app/templates/pending-user-updates.hbs
-remove|ember-template-lint|require-presentational-children|97|20|97|20|345afd41538c6cc791ec540186f8fc2980a305bd|1651017600000|1653609600000|1656201600000|app/templates/pending-user-updates.hbs
-remove|ember-template-lint|require-presentational-children|111|20|111|20|bc1ecd33f126e9535e0f0b112c3289aa39fdf1d6|1651017600000|1653609600000|1656201600000|app/templates/pending-user-updates.hbs
-remove|ember-template-lint|require-presentational-children|12|4|12|4|9ff73b7ab2d2a3ab215e112d343dd44b1cba517a|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/report-list-item.hbs
-remove|ember-template-lint|require-presentational-children|33|14|33|14|6f5bd03b03df627ce9978a56bf5bca456c9b901a|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/report-overview.hbs
-remove|ember-template-lint|require-presentational-children|55|8|55|8|42b77ab3c30aae7685c4eedbe560b320edee253a|1651017600000|1653609600000|1656201600000|app/components/curriculum-inventory/sequence-block-list-item.hbs
-remove|ember-template-lint|require-presentational-children|43|12|43|12|1feaae191a43b2433bfe69681dafa9bd2dbb6e82|1651017600000|1653609600000|1656201600000|app/components/global-search-box.hbs
-remove|ember-template-lint|require-presentational-children|35|8|35|8|d5438b84487c5f3a6d6727f799488c66694e4bf2|1651017600000|1653609600000|1656201600000|app/components/course-search-result.hbs
diff --git a/.stylelintignore b/.stylelintignore
index a0cf71cbd1..19ee307fb5 100644
--- a/.stylelintignore
+++ b/.stylelintignore
@@ -1,8 +1,5 @@
-# unconventional files
-/blueprints/*/files/
-
 # compiled output
-/dist/
+**/dist/
 
 # addons
-/.node_modules.ember-try/
+**/.node_modules.ember-try/
diff --git a/.template-lintrc.js b/.template-lintrc.js
index 9b9ee1c831..9c2a5a4643 100644
--- a/.template-lintrc.js
+++ b/.template-lintrc.js
@@ -1,13 +1,11 @@
 'use strict';
 
 module.exports = {
-  plugins: ['@ilios/ember-template-lint-plugin'],
-  extends: 'ilios:recommended',
+  extends: 'recommended',
   rules: {
     'no-implicit-this': {
       //our helpers which do not take arguments have to be listed here
       allow: ['noop'],
     },
   },
-  ignore: ['tests/integration/**'],
 };
diff --git a/package.json b/package.json
index 4154f09a03..207df353b3 100644
--- a/package.json
+++ b/package.json
@@ -1,169 +1,41 @@
 {
-  "name": "frontend",
-  "version": "38.0.0",
-  "description": "Curriculum Management System for the Health Professions",
-  "repository": "https://github.com/ilios/frontend",
+  "private": true,
   "license": "MIT",
-  "author": "",
-  "directories": {
-    "doc": "doc",
-    "test": "tests"
-  },
+  "author": "The Ilios Team (info@iliosproject.org)",
   "scripts": {
-    "build": "ember build --environment=production",
-    "lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\"",
+    "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"",
     "lint:css": "stylelint \"**/*.scss\"",
-    "lint:css:fix": "concurrently \"pnpm:lint:css -- --fix\"",
-    "lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\"",
+    "lint:css:fix": "concurrently \"npm:lint:css -- --fix\"",
+    "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"",
     "lint:hbs": "ember-template-lint .",
     "lint:hbs:fix": "ember-template-lint . --fix",
     "lint:js": "eslint . --cache",
     "lint:js:fix": "eslint . --fix",
-    "start": "ember serve",
-    "test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\"",
-    "test:ember": "ember test",
-    "percy:test": "percy exec -- pnpm run test:ember",
-    "deploy:production": "ember deploy production --activate",
-    "deploy:staging": "ember deploy staging --activate",
-    "deploy:test": "ember deploy development",
-    "test:ember:browserstack": "ember test --test-port=7774 --host=127.0.0.1 --config-file=testem.browserstack.js",
-    "browserstack:connect": "ember browserstack:connect",
-    "browserstack:disconnect": "ember browserstack:disconnect",
-    "browserstack:results": "ember browserstack:results",
+    "start": "pnpm --filter frontend start",
+    "test:frontend": "pnpm run --filter frontend test",
+    "test": "pnpm --filter '*' test",
+    "test:ember": "pnpm --filter '*' test:ember",
     "preinstall": "npx only-allow pnpm"
   },
   "devDependencies": {
-    "@babel/core": "^7.22.20",
-    "@babel/eslint-parser": "7.23.3",
-    "@babel/plugin-proposal-decorators": "^7.22.15",
-    "@ember/edition-utils": "^1.2.0",
-    "@ember/optional-features": "^2.0.0",
-    "@ember/string": "^3.1.1",
-    "@ember/test-helpers": "^3.2.0",
-    "@embroider/compat": "~3.4.4",
-    "@embroider/core": "~3.4.4",
-    "@embroider/macros": "^1.13.5",
-    "@embroider/router": "^2.1.6",
-    "@embroider/webpack": "~3.2.2",
-    "@glimmer/component": "^1.1.2",
-    "@glimmer/tracking": "^1.1.2",
-    "@ilios/ember-template-lint-plugin": "^3.0.0",
-    "@percy/cli": "^1.27.7",
-    "@percy/ember": "^4.2.0",
-    "@sentry/ember": "7.99.0",
-    "broccoli-asset-rev": "^3.0.0",
-    "broccoli-file-creator": "^2.1.1",
-    "broccoli-merge-trees": "^4.2.0",
-    "browserslist": "^4.22.1",
-    "caniuse-db": "^1.0.30001583",
-    "class-validator": "^0.14.0",
-    "concurrently": "^8.2.1",
-    "ember-a11y-refocus": "3.0.2",
-    "ember-a11y-testing": "^6.1.1",
-    "ember-ajax": "^5.1.2",
-    "ember-async-data": "^1.0.3",
-    "ember-auto-import": "^2.4.3",
-    "ember-cli": "~5.3.0",
-    "ember-cli-app-version": "^6.0.1",
-    "ember-cli-babel": "^8.0.0",
-    "ember-cli-browserstack": "^3.0.0",
-    "ember-cli-bundle-analyzer": "^1.0.0",
-    "ember-cli-clean-css": "^3.0.0",
-    "ember-cli-code-coverage": "^v2.0.3",
-    "ember-cli-dependency-checker": "^3.3.2",
-    "ember-cli-dependency-lint": "2.0.1",
-    "ember-cli-deploy": "2.0.0",
-    "ember-cli-deploy-archive": "1.0.0",
-    "ember-cli-deploy-brotli": "^0.4.0",
-    "ember-cli-deploy-build": "3.0.0",
-    "ember-cli-deploy-cloudfront": "^5.0.0",
-    "ember-cli-deploy-display-revisions": "3.0.0",
-    "ember-cli-deploy-gzip": "^3.0.0",
-    "ember-cli-deploy-json-config": "1.0.1",
-    "ember-cli-deploy-revision-data": "3.0.0",
-    "ember-cli-deploy-s3-index": "3.0.0",
-    "ember-cli-deprecation-workflow": "2.2.0",
-    "ember-cli-htmlbars": "^6.3.0",
-    "ember-cli-image-transformer": "^7.0.0",
-    "ember-cli-inject-live-reload": "^2.1.0",
-    "ember-cli-mirage": "^3.0.2",
-    "ember-cli-new-version": "^4.1.0",
-    "ember-cli-page-object": "^2.2.1",
-    "ember-cli-sass": "^11.0.1",
-    "ember-cli-server-variables": "3.0.0",
-    "ember-cli-sri": "^2.1.1",
-    "ember-cli-terser": "^4.0.2",
-    "ember-focus-trap": "^1.1.0",
-    "ember-load-initializers": "^2.1.2",
-    "ember-metrics": "1.5.2",
-    "ember-modifier": "^4.1.0",
-    "ember-moment": "^10.0.0",
-    "ember-noscript": "^4.1.0",
-    "ember-page-title": "^8.0.0",
-    "ember-qunit": "^8.0.1",
-    "ember-resolver": "^11.0.1",
-    "ember-responsive": "^5.0.0",
-    "ember-source": "~5.3.0",
-    "ember-template-lint": "^5.11.2",
-    "ember-web-app": "^5.0.0",
-    "eslint": "^8.49.0",
-    "eslint-config-prettier": "^9.0.0",
+    "concurrently": "^8.2.0",
+    "ember-template-lint": "^5.13.0",
+    "eslint": "^8.55.0",
+    "eslint-config-prettier": "^9.1.0",
     "eslint-plugin-ember": "^11.11.1",
-    "eslint-plugin-n": "^16.1.0",
-    "eslint-plugin-prettier": "^5.0.0",
-    "eslint-plugin-qunit": "^8.0.0",
-    "file-saver": "^2.0.5",
-    "ilios-common": "^87.1.0",
-    "loader.js": "^4.7.0",
-    "luxon": "^3.4.4",
-    "miragejs": "^0.1.48",
-    "mockdate": "^3.0.5",
-    "moment-timezone": "^0.5.42",
-    "pad": "^3.2.0",
-    "papaparse": "^5.4.1",
-    "pre-commit": "^1.2.2",
-    "prettier": "^3.0.3",
-    "query-string": "^8.1.0",
-    "qunit": "^2.19.4",
-    "qunit-dom": "^2.0.0",
-    "sass": "^1.70.0",
-    "scroll-into-view": "^1.16.2",
-    "striptags": "^3.2.0",
-    "stylelint": "^15.10.3",
-    "stylelint-config-recommended-scss": "^13.1.0",
+    "eslint-plugin-n": "^16.4.0",
+    "eslint-plugin-prettier": "^5.0.1",
+    "eslint-plugin-qunit": "^8.0.1",
+    "prettier": "^3.1.1",
+    "stylelint": "^15.11.0",
     "stylelint-config-standard": "^34.0.0",
-    "stylelint-prettier": "^4.0.2",
-    "stylelint-scss": "^5.3.2",
-    "terser-webpack-plugin": "^5.3.9",
-    "testem-failure-only-reporter": "^1.0.0",
-    "tracked-built-ins": "^3.2.0",
-    "validator": "^13.11.0",
-    "webpack": "^5.88.2",
-    "webpack-bundle-analyzer": "^4.10.1",
-    "webpack-retry-chunk-load-plugin": "^3.0.0",
-    "zxcvbn": "^4.4.2"
+    "stylelint-config-recommended-scss": "^13.0.0",
+    "stylelint-prettier": "^4.1.0",
+    "stylelint-scss": "^5.0.0"
   },
   "engines": {
     "node": ">= 18",
     "yarn": "use pnpm",
     "npm": "use pnpm"
-  },
-  "ember": {
-    "edition": "octane"
-  },
-  "ember-addon": {
-    "paths": [
-      "lib/ilios-error",
-      "lib/ilios-loading"
-    ]
-  },
-  "pre-commit": [
-    "lint"
-  ],
-  "private": true,
-  "dependencies": {
-    "ember-auto-import": "^2.6.3",
-    "moment": "^2.30.1",
-    "moment-timezone": "^0.5.42"
   }
 }
diff --git a/.ember-cli b/packages/frontend/.ember-cli
similarity index 100%
rename from .ember-cli
rename to packages/frontend/.ember-cli
diff --git a/packages/frontend/.gitignore b/packages/frontend/.gitignore
new file mode 100644
index 0000000000..ec4a7500d6
--- /dev/null
+++ b/packages/frontend/.gitignore
@@ -0,0 +1,32 @@
+# compiled output
+/dist/
+/declarations/
+
+# dependencies
+/node_modules/
+
+# misc
+/.env*
+/.pnp*
+/.eslintcache
+/coverage/
+/npm-debug.log*
+/testem.log
+/yarn-error.log
+
+lcov.dat
+sauce-example.log
+
+# ember-try
+/.node_modules.ember-try/
+/npm-shrinkwrap.json.ember-try
+/package.json.ember-try
+/package-lock.json.ember-try
+/yarn.lock.ember-try
+
+# broccoli-debug
+/DEBUG/
+
+#browserstack via ember-cli-browserstack
+browserstack-local.pid
+local.log
diff --git a/.nvmrc b/packages/frontend/.nvmrc
similarity index 100%
rename from .nvmrc
rename to packages/frontend/.nvmrc
diff --git a/.prettierignore b/packages/frontend/.prettierignore
similarity index 100%
rename from .prettierignore
rename to packages/frontend/.prettierignore
diff --git a/.watchmanconfig b/packages/frontend/.watchmanconfig
similarity index 100%
rename from .watchmanconfig
rename to packages/frontend/.watchmanconfig
diff --git a/app/adapters/application.js b/packages/frontend/app/adapters/application.js
similarity index 100%
rename from app/adapters/application.js
rename to packages/frontend/app/adapters/application.js
diff --git a/app/adapters/school.js b/packages/frontend/app/adapters/school.js
similarity index 100%
rename from app/adapters/school.js
rename to packages/frontend/app/adapters/school.js
diff --git a/app/app.js b/packages/frontend/app/app.js
similarity index 100%
rename from app/app.js
rename to packages/frontend/app/app.js
diff --git a/app/breakpoints.js b/packages/frontend/app/breakpoints.js
similarity index 100%
rename from app/breakpoints.js
rename to packages/frontend/app/breakpoints.js
diff --git a/app/classes/resolve-all-values.js b/packages/frontend/app/classes/resolve-all-values.js
similarity index 100%
rename from app/classes/resolve-all-values.js
rename to packages/frontend/app/classes/resolve-all-values.js
diff --git a/app/components/.gitkeep b/packages/frontend/app/components/.gitkeep
similarity index 100%
rename from app/components/.gitkeep
rename to packages/frontend/app/components/.gitkeep
diff --git a/app/components/assign-students.hbs b/packages/frontend/app/components/assign-students.hbs
similarity index 100%
rename from app/components/assign-students.hbs
rename to packages/frontend/app/components/assign-students.hbs
diff --git a/app/components/assign-students.js b/packages/frontend/app/components/assign-students.js
similarity index 100%
rename from app/components/assign-students.js
rename to packages/frontend/app/components/assign-students.js
diff --git a/app/components/back-to-admin-dashboard.hbs b/packages/frontend/app/components/back-to-admin-dashboard.hbs
similarity index 100%
rename from app/components/back-to-admin-dashboard.hbs
rename to packages/frontend/app/components/back-to-admin-dashboard.hbs
diff --git a/app/components/bulk-new-users.hbs b/packages/frontend/app/components/bulk-new-users.hbs
similarity index 100%
rename from app/components/bulk-new-users.hbs
rename to packages/frontend/app/components/bulk-new-users.hbs
diff --git a/app/components/bulk-new-users.js b/packages/frontend/app/components/bulk-new-users.js
similarity index 100%
rename from app/components/bulk-new-users.js
rename to packages/frontend/app/components/bulk-new-users.js
diff --git a/app/components/competency-title-editor.hbs b/packages/frontend/app/components/competency-title-editor.hbs
similarity index 100%
rename from app/components/competency-title-editor.hbs
rename to packages/frontend/app/components/competency-title-editor.hbs
diff --git a/app/components/competency-title-editor.js b/packages/frontend/app/components/competency-title-editor.js
similarity index 100%
rename from app/components/competency-title-editor.js
rename to packages/frontend/app/components/competency-title-editor.js
diff --git a/app/components/connection-status.hbs b/packages/frontend/app/components/connection-status.hbs
similarity index 100%
rename from app/components/connection-status.hbs
rename to packages/frontend/app/components/connection-status.hbs
diff --git a/app/components/connection-status.js b/packages/frontend/app/components/connection-status.js
similarity index 100%
rename from app/components/connection-status.js
rename to packages/frontend/app/components/connection-status.js
diff --git a/app/components/course-search-result.hbs b/packages/frontend/app/components/course-search-result.hbs
similarity index 100%
rename from app/components/course-search-result.hbs
rename to packages/frontend/app/components/course-search-result.hbs
diff --git a/app/components/course-search-result.js b/packages/frontend/app/components/course-search-result.js
similarity index 100%
rename from app/components/course-search-result.js
rename to packages/frontend/app/components/course-search-result.js
diff --git a/app/components/courses/list-item.hbs b/packages/frontend/app/components/courses/list-item.hbs
similarity index 100%
rename from app/components/courses/list-item.hbs
rename to packages/frontend/app/components/courses/list-item.hbs
diff --git a/app/components/courses/list-item.js b/packages/frontend/app/components/courses/list-item.js
similarity index 100%
rename from app/components/courses/list-item.js
rename to packages/frontend/app/components/courses/list-item.js
diff --git a/app/components/courses/list.hbs b/packages/frontend/app/components/courses/list.hbs
similarity index 100%
rename from app/components/courses/list.hbs
rename to packages/frontend/app/components/courses/list.hbs
diff --git a/app/components/courses/list.js b/packages/frontend/app/components/courses/list.js
similarity index 100%
rename from app/components/courses/list.js
rename to packages/frontend/app/components/courses/list.js
diff --git a/app/components/courses/new.hbs b/packages/frontend/app/components/courses/new.hbs
similarity index 100%
rename from app/components/courses/new.hbs
rename to packages/frontend/app/components/courses/new.hbs
diff --git a/app/components/courses/new.js b/packages/frontend/app/components/courses/new.js
similarity index 100%
rename from app/components/courses/new.js
rename to packages/frontend/app/components/courses/new.js
diff --git a/app/components/courses/root.hbs b/packages/frontend/app/components/courses/root.hbs
similarity index 100%
rename from app/components/courses/root.hbs
rename to packages/frontend/app/components/courses/root.hbs
diff --git a/app/components/courses/root.js b/packages/frontend/app/components/courses/root.js
similarity index 100%
rename from app/components/courses/root.js
rename to packages/frontend/app/components/courses/root.js
diff --git a/app/components/curriculum-inventory/leadership-expanded.hbs b/packages/frontend/app/components/curriculum-inventory/leadership-expanded.hbs
similarity index 100%
rename from app/components/curriculum-inventory/leadership-expanded.hbs
rename to packages/frontend/app/components/curriculum-inventory/leadership-expanded.hbs
diff --git a/app/components/curriculum-inventory/leadership-expanded.js b/packages/frontend/app/components/curriculum-inventory/leadership-expanded.js
similarity index 100%
rename from app/components/curriculum-inventory/leadership-expanded.js
rename to packages/frontend/app/components/curriculum-inventory/leadership-expanded.js
diff --git a/app/components/curriculum-inventory/new-report.hbs b/packages/frontend/app/components/curriculum-inventory/new-report.hbs
similarity index 100%
rename from app/components/curriculum-inventory/new-report.hbs
rename to packages/frontend/app/components/curriculum-inventory/new-report.hbs
diff --git a/app/components/curriculum-inventory/new-report.js b/packages/frontend/app/components/curriculum-inventory/new-report.js
similarity index 100%
rename from app/components/curriculum-inventory/new-report.js
rename to packages/frontend/app/components/curriculum-inventory/new-report.js
diff --git a/app/components/curriculum-inventory/new-sequence-block.hbs b/packages/frontend/app/components/curriculum-inventory/new-sequence-block.hbs
similarity index 100%
rename from app/components/curriculum-inventory/new-sequence-block.hbs
rename to packages/frontend/app/components/curriculum-inventory/new-sequence-block.hbs
diff --git a/app/components/curriculum-inventory/new-sequence-block.js b/packages/frontend/app/components/curriculum-inventory/new-sequence-block.js
similarity index 100%
rename from app/components/curriculum-inventory/new-sequence-block.js
rename to packages/frontend/app/components/curriculum-inventory/new-sequence-block.js
diff --git a/app/components/curriculum-inventory/report-details.hbs b/packages/frontend/app/components/curriculum-inventory/report-details.hbs
similarity index 100%
rename from app/components/curriculum-inventory/report-details.hbs
rename to packages/frontend/app/components/curriculum-inventory/report-details.hbs
diff --git a/app/components/curriculum-inventory/report-details.js b/packages/frontend/app/components/curriculum-inventory/report-details.js
similarity index 100%
rename from app/components/curriculum-inventory/report-details.js
rename to packages/frontend/app/components/curriculum-inventory/report-details.js
diff --git a/app/components/curriculum-inventory/report-header.hbs b/packages/frontend/app/components/curriculum-inventory/report-header.hbs
similarity index 100%
rename from app/components/curriculum-inventory/report-header.hbs
rename to packages/frontend/app/components/curriculum-inventory/report-header.hbs
diff --git a/app/components/curriculum-inventory/report-header.js b/packages/frontend/app/components/curriculum-inventory/report-header.js
similarity index 100%
rename from app/components/curriculum-inventory/report-header.js
rename to packages/frontend/app/components/curriculum-inventory/report-header.js
diff --git a/app/components/curriculum-inventory/report-list-item.hbs b/packages/frontend/app/components/curriculum-inventory/report-list-item.hbs
similarity index 100%
rename from app/components/curriculum-inventory/report-list-item.hbs
rename to packages/frontend/app/components/curriculum-inventory/report-list-item.hbs
diff --git a/app/components/curriculum-inventory/report-list-item.js b/packages/frontend/app/components/curriculum-inventory/report-list-item.js
similarity index 100%
rename from app/components/curriculum-inventory/report-list-item.js
rename to packages/frontend/app/components/curriculum-inventory/report-list-item.js
diff --git a/app/components/curriculum-inventory/report-list.hbs b/packages/frontend/app/components/curriculum-inventory/report-list.hbs
similarity index 100%
rename from app/components/curriculum-inventory/report-list.hbs
rename to packages/frontend/app/components/curriculum-inventory/report-list.hbs
diff --git a/app/components/curriculum-inventory/report-list.js b/packages/frontend/app/components/curriculum-inventory/report-list.js
similarity index 100%
rename from app/components/curriculum-inventory/report-list.js
rename to packages/frontend/app/components/curriculum-inventory/report-list.js
diff --git a/app/components/curriculum-inventory/report-overview.hbs b/packages/frontend/app/components/curriculum-inventory/report-overview.hbs
similarity index 100%
rename from app/components/curriculum-inventory/report-overview.hbs
rename to packages/frontend/app/components/curriculum-inventory/report-overview.hbs
diff --git a/app/components/curriculum-inventory/report-overview.js b/packages/frontend/app/components/curriculum-inventory/report-overview.js
similarity index 100%
rename from app/components/curriculum-inventory/report-overview.js
rename to packages/frontend/app/components/curriculum-inventory/report-overview.js
diff --git a/app/components/curriculum-inventory/report-rollover.hbs b/packages/frontend/app/components/curriculum-inventory/report-rollover.hbs
similarity index 100%
rename from app/components/curriculum-inventory/report-rollover.hbs
rename to packages/frontend/app/components/curriculum-inventory/report-rollover.hbs
diff --git a/app/components/curriculum-inventory/report-rollover.js b/packages/frontend/app/components/curriculum-inventory/report-rollover.js
similarity index 100%
rename from app/components/curriculum-inventory/report-rollover.js
rename to packages/frontend/app/components/curriculum-inventory/report-rollover.js
diff --git a/app/components/curriculum-inventory/reports.hbs b/packages/frontend/app/components/curriculum-inventory/reports.hbs
similarity index 100%
rename from app/components/curriculum-inventory/reports.hbs
rename to packages/frontend/app/components/curriculum-inventory/reports.hbs
diff --git a/app/components/curriculum-inventory/reports.js b/packages/frontend/app/components/curriculum-inventory/reports.js
similarity index 100%
rename from app/components/curriculum-inventory/reports.js
rename to packages/frontend/app/components/curriculum-inventory/reports.js
diff --git a/app/components/curriculum-inventory/sequence-block-details.hbs b/packages/frontend/app/components/curriculum-inventory/sequence-block-details.hbs
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-details.hbs
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-details.hbs
diff --git a/app/components/curriculum-inventory/sequence-block-details.js b/packages/frontend/app/components/curriculum-inventory/sequence-block-details.js
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-details.js
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-details.js
diff --git a/app/components/curriculum-inventory/sequence-block-header.hbs b/packages/frontend/app/components/curriculum-inventory/sequence-block-header.hbs
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-header.hbs
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-header.hbs
diff --git a/app/components/curriculum-inventory/sequence-block-header.js b/packages/frontend/app/components/curriculum-inventory/sequence-block-header.js
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-header.js
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-header.js
diff --git a/app/components/curriculum-inventory/sequence-block-list-item.hbs b/packages/frontend/app/components/curriculum-inventory/sequence-block-list-item.hbs
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-list-item.hbs
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-list-item.hbs
diff --git a/app/components/curriculum-inventory/sequence-block-list-item.js b/packages/frontend/app/components/curriculum-inventory/sequence-block-list-item.js
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-list-item.js
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-list-item.js
diff --git a/app/components/curriculum-inventory/sequence-block-list.hbs b/packages/frontend/app/components/curriculum-inventory/sequence-block-list.hbs
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-list.hbs
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-list.hbs
diff --git a/app/components/curriculum-inventory/sequence-block-list.js b/packages/frontend/app/components/curriculum-inventory/sequence-block-list.js
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-list.js
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-list.js
diff --git a/app/components/curriculum-inventory/sequence-block-overview.hbs b/packages/frontend/app/components/curriculum-inventory/sequence-block-overview.hbs
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-overview.hbs
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-overview.hbs
diff --git a/app/components/curriculum-inventory/sequence-block-overview.js b/packages/frontend/app/components/curriculum-inventory/sequence-block-overview.js
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-overview.js
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-overview.js
diff --git a/app/components/curriculum-inventory/sequence-block-session-list.hbs b/packages/frontend/app/components/curriculum-inventory/sequence-block-session-list.hbs
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-session-list.hbs
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-session-list.hbs
diff --git a/app/components/curriculum-inventory/sequence-block-session-list.js b/packages/frontend/app/components/curriculum-inventory/sequence-block-session-list.js
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-session-list.js
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-session-list.js
diff --git a/app/components/curriculum-inventory/sequence-block-session-manager.hbs b/packages/frontend/app/components/curriculum-inventory/sequence-block-session-manager.hbs
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-session-manager.hbs
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-session-manager.hbs
diff --git a/app/components/curriculum-inventory/sequence-block-session-manager.js b/packages/frontend/app/components/curriculum-inventory/sequence-block-session-manager.js
similarity index 100%
rename from app/components/curriculum-inventory/sequence-block-session-manager.js
rename to packages/frontend/app/components/curriculum-inventory/sequence-block-session-manager.js
diff --git a/app/components/curriculum-inventory/verification-preview-header.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-header.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-header.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-header.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table1.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table1.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table1.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table1.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table2.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table2.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table2.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table2.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table2.js b/packages/frontend/app/components/curriculum-inventory/verification-preview-table2.js
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table2.js
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table2.js
diff --git a/app/components/curriculum-inventory/verification-preview-table3a.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table3a.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table3a.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table3a.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table3b.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table3b.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table3b.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table3b.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table4.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table4.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table4.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table4.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table4.js b/packages/frontend/app/components/curriculum-inventory/verification-preview-table4.js
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table4.js
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table4.js
diff --git a/app/components/curriculum-inventory/verification-preview-table5.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table5.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table5.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table5.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table5.js b/packages/frontend/app/components/curriculum-inventory/verification-preview-table5.js
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table5.js
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table5.js
diff --git a/app/components/curriculum-inventory/verification-preview-table6.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table6.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table6.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table6.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table6.js b/packages/frontend/app/components/curriculum-inventory/verification-preview-table6.js
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table6.js
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table6.js
diff --git a/app/components/curriculum-inventory/verification-preview-table7.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table7.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table7.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table7.hbs
diff --git a/app/components/curriculum-inventory/verification-preview-table7.js b/packages/frontend/app/components/curriculum-inventory/verification-preview-table7.js
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table7.js
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table7.js
diff --git a/app/components/curriculum-inventory/verification-preview-table8.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview-table8.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview-table8.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview-table8.hbs
diff --git a/app/components/curriculum-inventory/verification-preview.hbs b/packages/frontend/app/components/curriculum-inventory/verification-preview.hbs
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview.hbs
rename to packages/frontend/app/components/curriculum-inventory/verification-preview.hbs
diff --git a/app/components/curriculum-inventory/verification-preview.js b/packages/frontend/app/components/curriculum-inventory/verification-preview.js
similarity index 100%
rename from app/components/curriculum-inventory/verification-preview.js
rename to packages/frontend/app/components/curriculum-inventory/verification-preview.js
diff --git a/app/components/dashboard-loading.hbs b/packages/frontend/app/components/dashboard-loading.hbs
similarity index 100%
rename from app/components/dashboard-loading.hbs
rename to packages/frontend/app/components/dashboard-loading.hbs
diff --git a/app/components/error-display.hbs b/packages/frontend/app/components/error-display.hbs
similarity index 100%
rename from app/components/error-display.hbs
rename to packages/frontend/app/components/error-display.hbs
diff --git a/app/components/error-display.js b/packages/frontend/app/components/error-display.js
similarity index 100%
rename from app/components/error-display.js
rename to packages/frontend/app/components/error-display.js
diff --git a/app/components/flash-messages.hbs b/packages/frontend/app/components/flash-messages.hbs
similarity index 100%
rename from app/components/flash-messages.hbs
rename to packages/frontend/app/components/flash-messages.hbs
diff --git a/app/components/flash-messages.js b/packages/frontend/app/components/flash-messages.js
similarity index 100%
rename from app/components/flash-messages.js
rename to packages/frontend/app/components/flash-messages.js
diff --git a/app/components/global-search-box.hbs b/packages/frontend/app/components/global-search-box.hbs
similarity index 100%
rename from app/components/global-search-box.hbs
rename to packages/frontend/app/components/global-search-box.hbs
diff --git a/app/components/global-search-box.js b/packages/frontend/app/components/global-search-box.js
similarity index 100%
rename from app/components/global-search-box.js
rename to packages/frontend/app/components/global-search-box.js
diff --git a/app/components/global-search-tags.hbs b/packages/frontend/app/components/global-search-tags.hbs
similarity index 100%
rename from app/components/global-search-tags.hbs
rename to packages/frontend/app/components/global-search-tags.hbs
diff --git a/app/components/global-search.hbs b/packages/frontend/app/components/global-search.hbs
similarity index 100%
rename from app/components/global-search.hbs
rename to packages/frontend/app/components/global-search.hbs
diff --git a/app/components/global-search.js b/packages/frontend/app/components/global-search.js
similarity index 100%
rename from app/components/global-search.js
rename to packages/frontend/app/components/global-search.js
diff --git a/app/components/ilios-header.hbs b/packages/frontend/app/components/ilios-header.hbs
similarity index 100%
rename from app/components/ilios-header.hbs
rename to packages/frontend/app/components/ilios-header.hbs
diff --git a/app/components/ilios-header.js b/packages/frontend/app/components/ilios-header.js
similarity index 100%
rename from app/components/ilios-header.js
rename to packages/frontend/app/components/ilios-header.js
diff --git a/app/components/ilios-navigation.hbs b/packages/frontend/app/components/ilios-navigation.hbs
similarity index 100%
rename from app/components/ilios-navigation.hbs
rename to packages/frontend/app/components/ilios-navigation.hbs
diff --git a/app/components/ilios-navigation.js b/packages/frontend/app/components/ilios-navigation.js
similarity index 100%
rename from app/components/ilios-navigation.js
rename to packages/frontend/app/components/ilios-navigation.js
diff --git a/app/components/ilios-users.hbs b/packages/frontend/app/components/ilios-users.hbs
similarity index 100%
rename from app/components/ilios-users.hbs
rename to packages/frontend/app/components/ilios-users.hbs
diff --git a/app/components/ilios-users.js b/packages/frontend/app/components/ilios-users.js
similarity index 100%
rename from app/components/ilios-users.js
rename to packages/frontend/app/components/ilios-users.js
diff --git a/app/components/instructor-group/courses.hbs b/packages/frontend/app/components/instructor-group/courses.hbs
similarity index 100%
rename from app/components/instructor-group/courses.hbs
rename to packages/frontend/app/components/instructor-group/courses.hbs
diff --git a/app/components/instructor-group/header.hbs b/packages/frontend/app/components/instructor-group/header.hbs
similarity index 100%
rename from app/components/instructor-group/header.hbs
rename to packages/frontend/app/components/instructor-group/header.hbs
diff --git a/app/components/instructor-group/header.js b/packages/frontend/app/components/instructor-group/header.js
similarity index 100%
rename from app/components/instructor-group/header.js
rename to packages/frontend/app/components/instructor-group/header.js
diff --git a/app/components/instructor-group/instructor-manager.hbs b/packages/frontend/app/components/instructor-group/instructor-manager.hbs
similarity index 100%
rename from app/components/instructor-group/instructor-manager.hbs
rename to packages/frontend/app/components/instructor-group/instructor-manager.hbs
diff --git a/app/components/instructor-group/root.hbs b/packages/frontend/app/components/instructor-group/root.hbs
similarity index 100%
rename from app/components/instructor-group/root.hbs
rename to packages/frontend/app/components/instructor-group/root.hbs
diff --git a/app/components/instructor-group/users.hbs b/packages/frontend/app/components/instructor-group/users.hbs
similarity index 100%
rename from app/components/instructor-group/users.hbs
rename to packages/frontend/app/components/instructor-group/users.hbs
diff --git a/app/components/instructor-group/users.js b/packages/frontend/app/components/instructor-group/users.js
similarity index 100%
rename from app/components/instructor-group/users.js
rename to packages/frontend/app/components/instructor-group/users.js
diff --git a/app/components/instructor-groups/list-item.hbs b/packages/frontend/app/components/instructor-groups/list-item.hbs
similarity index 100%
rename from app/components/instructor-groups/list-item.hbs
rename to packages/frontend/app/components/instructor-groups/list-item.hbs
diff --git a/app/components/instructor-groups/list-item.js b/packages/frontend/app/components/instructor-groups/list-item.js
similarity index 100%
rename from app/components/instructor-groups/list-item.js
rename to packages/frontend/app/components/instructor-groups/list-item.js
diff --git a/app/components/instructor-groups/list.hbs b/packages/frontend/app/components/instructor-groups/list.hbs
similarity index 100%
rename from app/components/instructor-groups/list.hbs
rename to packages/frontend/app/components/instructor-groups/list.hbs
diff --git a/app/components/instructor-groups/list.js b/packages/frontend/app/components/instructor-groups/list.js
similarity index 100%
rename from app/components/instructor-groups/list.js
rename to packages/frontend/app/components/instructor-groups/list.js
diff --git a/app/components/instructor-groups/loading.hbs b/packages/frontend/app/components/instructor-groups/loading.hbs
similarity index 100%
rename from app/components/instructor-groups/loading.hbs
rename to packages/frontend/app/components/instructor-groups/loading.hbs
diff --git a/app/components/instructor-groups/new.hbs b/packages/frontend/app/components/instructor-groups/new.hbs
similarity index 100%
rename from app/components/instructor-groups/new.hbs
rename to packages/frontend/app/components/instructor-groups/new.hbs
diff --git a/app/components/instructor-groups/new.js b/packages/frontend/app/components/instructor-groups/new.js
similarity index 100%
rename from app/components/instructor-groups/new.js
rename to packages/frontend/app/components/instructor-groups/new.js
diff --git a/app/components/instructor-groups/root.hbs b/packages/frontend/app/components/instructor-groups/root.hbs
similarity index 100%
rename from app/components/instructor-groups/root.hbs
rename to packages/frontend/app/components/instructor-groups/root.hbs
diff --git a/app/components/instructor-groups/root.js b/packages/frontend/app/components/instructor-groups/root.js
similarity index 100%
rename from app/components/instructor-groups/root.js
rename to packages/frontend/app/components/instructor-groups/root.js
diff --git a/app/components/learner-group/bulk-assignment.hbs b/packages/frontend/app/components/learner-group/bulk-assignment.hbs
similarity index 100%
rename from app/components/learner-group/bulk-assignment.hbs
rename to packages/frontend/app/components/learner-group/bulk-assignment.hbs
diff --git a/app/components/learner-group/bulk-assignment.js b/packages/frontend/app/components/learner-group/bulk-assignment.js
similarity index 100%
rename from app/components/learner-group/bulk-assignment.js
rename to packages/frontend/app/components/learner-group/bulk-assignment.js
diff --git a/app/components/learner-group/bulk-finalize-users.hbs b/packages/frontend/app/components/learner-group/bulk-finalize-users.hbs
similarity index 100%
rename from app/components/learner-group/bulk-finalize-users.hbs
rename to packages/frontend/app/components/learner-group/bulk-finalize-users.hbs
diff --git a/app/components/learner-group/bulk-finalize-users.js b/packages/frontend/app/components/learner-group/bulk-finalize-users.js
similarity index 100%
rename from app/components/learner-group/bulk-finalize-users.js
rename to packages/frontend/app/components/learner-group/bulk-finalize-users.js
diff --git a/app/components/learner-group/bulk-group-matcher.hbs b/packages/frontend/app/components/learner-group/bulk-group-matcher.hbs
similarity index 100%
rename from app/components/learner-group/bulk-group-matcher.hbs
rename to packages/frontend/app/components/learner-group/bulk-group-matcher.hbs
diff --git a/app/components/learner-group/bulk-group-matcher.js b/packages/frontend/app/components/learner-group/bulk-group-matcher.js
similarity index 100%
rename from app/components/learner-group/bulk-group-matcher.js
rename to packages/frontend/app/components/learner-group/bulk-group-matcher.js
diff --git a/app/components/learner-group/calendar.hbs b/packages/frontend/app/components/learner-group/calendar.hbs
similarity index 100%
rename from app/components/learner-group/calendar.hbs
rename to packages/frontend/app/components/learner-group/calendar.hbs
diff --git a/app/components/learner-group/calendar.js b/packages/frontend/app/components/learner-group/calendar.js
similarity index 100%
rename from app/components/learner-group/calendar.js
rename to packages/frontend/app/components/learner-group/calendar.js
diff --git a/app/components/learner-group/cohort-user-manager.hbs b/packages/frontend/app/components/learner-group/cohort-user-manager.hbs
similarity index 100%
rename from app/components/learner-group/cohort-user-manager.hbs
rename to packages/frontend/app/components/learner-group/cohort-user-manager.hbs
diff --git a/app/components/learner-group/cohort-user-manager.js b/packages/frontend/app/components/learner-group/cohort-user-manager.js
similarity index 100%
rename from app/components/learner-group/cohort-user-manager.js
rename to packages/frontend/app/components/learner-group/cohort-user-manager.js
diff --git a/app/components/learner-group/header.hbs b/packages/frontend/app/components/learner-group/header.hbs
similarity index 100%
rename from app/components/learner-group/header.hbs
rename to packages/frontend/app/components/learner-group/header.hbs
diff --git a/app/components/learner-group/header.js b/packages/frontend/app/components/learner-group/header.js
similarity index 100%
rename from app/components/learner-group/header.js
rename to packages/frontend/app/components/learner-group/header.js
diff --git a/app/components/learner-group/instructor-group-members-list.hbs b/packages/frontend/app/components/learner-group/instructor-group-members-list.hbs
similarity index 100%
rename from app/components/learner-group/instructor-group-members-list.hbs
rename to packages/frontend/app/components/learner-group/instructor-group-members-list.hbs
diff --git a/app/components/learner-group/instructor-group-members-list.js b/packages/frontend/app/components/learner-group/instructor-group-members-list.js
similarity index 100%
rename from app/components/learner-group/instructor-group-members-list.js
rename to packages/frontend/app/components/learner-group/instructor-group-members-list.js
diff --git a/app/components/learner-group/instructor-manager.hbs b/packages/frontend/app/components/learner-group/instructor-manager.hbs
similarity index 100%
rename from app/components/learner-group/instructor-manager.hbs
rename to packages/frontend/app/components/learner-group/instructor-manager.hbs
diff --git a/app/components/learner-group/instructor-manager.js b/packages/frontend/app/components/learner-group/instructor-manager.js
similarity index 100%
rename from app/components/learner-group/instructor-manager.js
rename to packages/frontend/app/components/learner-group/instructor-manager.js
diff --git a/app/components/learner-group/list-item.hbs b/packages/frontend/app/components/learner-group/list-item.hbs
similarity index 100%
rename from app/components/learner-group/list-item.hbs
rename to packages/frontend/app/components/learner-group/list-item.hbs
diff --git a/app/components/learner-group/list-item.js b/packages/frontend/app/components/learner-group/list-item.js
similarity index 100%
rename from app/components/learner-group/list-item.js
rename to packages/frontend/app/components/learner-group/list-item.js
diff --git a/app/components/learner-group/list.hbs b/packages/frontend/app/components/learner-group/list.hbs
similarity index 100%
rename from app/components/learner-group/list.hbs
rename to packages/frontend/app/components/learner-group/list.hbs
diff --git a/app/components/learner-group/list.js b/packages/frontend/app/components/learner-group/list.js
similarity index 100%
rename from app/components/learner-group/list.js
rename to packages/frontend/app/components/learner-group/list.js
diff --git a/app/components/learner-group/members.hbs b/packages/frontend/app/components/learner-group/members.hbs
similarity index 100%
rename from app/components/learner-group/members.hbs
rename to packages/frontend/app/components/learner-group/members.hbs
diff --git a/app/components/learner-group/members.js b/packages/frontend/app/components/learner-group/members.js
similarity index 100%
rename from app/components/learner-group/members.js
rename to packages/frontend/app/components/learner-group/members.js
diff --git a/app/components/learner-group/new-multiple.hbs b/packages/frontend/app/components/learner-group/new-multiple.hbs
similarity index 100%
rename from app/components/learner-group/new-multiple.hbs
rename to packages/frontend/app/components/learner-group/new-multiple.hbs
diff --git a/app/components/learner-group/new-multiple.js b/packages/frontend/app/components/learner-group/new-multiple.js
similarity index 100%
rename from app/components/learner-group/new-multiple.js
rename to packages/frontend/app/components/learner-group/new-multiple.js
diff --git a/app/components/learner-group/new-single.hbs b/packages/frontend/app/components/learner-group/new-single.hbs
similarity index 100%
rename from app/components/learner-group/new-single.hbs
rename to packages/frontend/app/components/learner-group/new-single.hbs
diff --git a/app/components/learner-group/new-single.js b/packages/frontend/app/components/learner-group/new-single.js
similarity index 100%
rename from app/components/learner-group/new-single.js
rename to packages/frontend/app/components/learner-group/new-single.js
diff --git a/app/components/learner-group/new.hbs b/packages/frontend/app/components/learner-group/new.hbs
similarity index 100%
rename from app/components/learner-group/new.hbs
rename to packages/frontend/app/components/learner-group/new.hbs
diff --git a/app/components/learner-group/new.js b/packages/frontend/app/components/learner-group/new.js
similarity index 100%
rename from app/components/learner-group/new.js
rename to packages/frontend/app/components/learner-group/new.js
diff --git a/app/components/learner-group/root.hbs b/packages/frontend/app/components/learner-group/root.hbs
similarity index 100%
rename from app/components/learner-group/root.hbs
rename to packages/frontend/app/components/learner-group/root.hbs
diff --git a/app/components/learner-group/root.js b/packages/frontend/app/components/learner-group/root.js
similarity index 100%
rename from app/components/learner-group/root.js
rename to packages/frontend/app/components/learner-group/root.js
diff --git a/app/components/learner-group/upload-data.hbs b/packages/frontend/app/components/learner-group/upload-data.hbs
similarity index 100%
rename from app/components/learner-group/upload-data.hbs
rename to packages/frontend/app/components/learner-group/upload-data.hbs
diff --git a/app/components/learner-group/upload-data.js b/packages/frontend/app/components/learner-group/upload-data.js
similarity index 100%
rename from app/components/learner-group/upload-data.js
rename to packages/frontend/app/components/learner-group/upload-data.js
diff --git a/app/components/learner-group/user-manager.hbs b/packages/frontend/app/components/learner-group/user-manager.hbs
similarity index 100%
rename from app/components/learner-group/user-manager.hbs
rename to packages/frontend/app/components/learner-group/user-manager.hbs
diff --git a/app/components/learner-group/user-manager.js b/packages/frontend/app/components/learner-group/user-manager.js
similarity index 100%
rename from app/components/learner-group/user-manager.js
rename to packages/frontend/app/components/learner-group/user-manager.js
diff --git a/app/components/learner-groups/root.hbs b/packages/frontend/app/components/learner-groups/root.hbs
similarity index 100%
rename from app/components/learner-groups/root.hbs
rename to packages/frontend/app/components/learner-groups/root.hbs
diff --git a/app/components/learner-groups/root.js b/packages/frontend/app/components/learner-groups/root.js
similarity index 100%
rename from app/components/learner-groups/root.js
rename to packages/frontend/app/components/learner-groups/root.js
diff --git a/app/components/link-to-with-action.hbs b/packages/frontend/app/components/link-to-with-action.hbs
similarity index 100%
rename from app/components/link-to-with-action.hbs
rename to packages/frontend/app/components/link-to-with-action.hbs
diff --git a/app/components/link-to-with-action.js b/packages/frontend/app/components/link-to-with-action.js
similarity index 100%
rename from app/components/link-to-with-action.js
rename to packages/frontend/app/components/link-to-with-action.js
diff --git a/app/components/locale-chooser.hbs b/packages/frontend/app/components/locale-chooser.hbs
similarity index 100%
rename from app/components/locale-chooser.hbs
rename to packages/frontend/app/components/locale-chooser.hbs
diff --git a/app/components/locale-chooser.js b/packages/frontend/app/components/locale-chooser.js
similarity index 100%
rename from app/components/locale-chooser.js
rename to packages/frontend/app/components/locale-chooser.js
diff --git a/app/components/login-form.hbs b/packages/frontend/app/components/login-form.hbs
similarity index 100%
rename from app/components/login-form.hbs
rename to packages/frontend/app/components/login-form.hbs
diff --git a/app/components/login-form.js b/packages/frontend/app/components/login-form.js
similarity index 100%
rename from app/components/login-form.js
rename to packages/frontend/app/components/login-form.js
diff --git a/app/components/manage-users-summary.hbs b/packages/frontend/app/components/manage-users-summary.hbs
similarity index 100%
rename from app/components/manage-users-summary.hbs
rename to packages/frontend/app/components/manage-users-summary.hbs
diff --git a/app/components/manage-users-summary.js b/packages/frontend/app/components/manage-users-summary.js
similarity index 100%
rename from app/components/manage-users-summary.js
rename to packages/frontend/app/components/manage-users-summary.js
diff --git a/app/components/my-profile.hbs b/packages/frontend/app/components/my-profile.hbs
similarity index 100%
rename from app/components/my-profile.hbs
rename to packages/frontend/app/components/my-profile.hbs
diff --git a/app/components/my-profile.js b/packages/frontend/app/components/my-profile.js
similarity index 100%
rename from app/components/my-profile.js
rename to packages/frontend/app/components/my-profile.js
diff --git a/app/components/new-competency.hbs b/packages/frontend/app/components/new-competency.hbs
similarity index 100%
rename from app/components/new-competency.hbs
rename to packages/frontend/app/components/new-competency.hbs
diff --git a/app/components/new-competency.js b/packages/frontend/app/components/new-competency.js
similarity index 100%
rename from app/components/new-competency.js
rename to packages/frontend/app/components/new-competency.js
diff --git a/app/components/new-directory-user.hbs b/packages/frontend/app/components/new-directory-user.hbs
similarity index 100%
rename from app/components/new-directory-user.hbs
rename to packages/frontend/app/components/new-directory-user.hbs
diff --git a/app/components/new-directory-user.js b/packages/frontend/app/components/new-directory-user.js
similarity index 100%
rename from app/components/new-directory-user.js
rename to packages/frontend/app/components/new-directory-user.js
diff --git a/app/components/new-user.hbs b/packages/frontend/app/components/new-user.hbs
similarity index 100%
rename from app/components/new-user.hbs
rename to packages/frontend/app/components/new-user.hbs
diff --git a/app/components/new-user.js b/packages/frontend/app/components/new-user.js
similarity index 100%
rename from app/components/new-user.js
rename to packages/frontend/app/components/new-user.js
diff --git a/app/components/pagination-links.hbs b/packages/frontend/app/components/pagination-links.hbs
similarity index 100%
rename from app/components/pagination-links.hbs
rename to packages/frontend/app/components/pagination-links.hbs
diff --git a/app/components/pagination-links.js b/packages/frontend/app/components/pagination-links.js
similarity index 100%
rename from app/components/pagination-links.js
rename to packages/frontend/app/components/pagination-links.js
diff --git a/app/components/pending-single-user-update.hbs b/packages/frontend/app/components/pending-single-user-update.hbs
similarity index 100%
rename from app/components/pending-single-user-update.hbs
rename to packages/frontend/app/components/pending-single-user-update.hbs
diff --git a/app/components/pending-single-user-update.js b/packages/frontend/app/components/pending-single-user-update.js
similarity index 100%
rename from app/components/pending-single-user-update.js
rename to packages/frontend/app/components/pending-single-user-update.js
diff --git a/app/components/pending-updates-summary.hbs b/packages/frontend/app/components/pending-updates-summary.hbs
similarity index 100%
rename from app/components/pending-updates-summary.hbs
rename to packages/frontend/app/components/pending-updates-summary.hbs
diff --git a/app/components/pending-updates-summary.js b/packages/frontend/app/components/pending-updates-summary.js
similarity index 100%
rename from app/components/pending-updates-summary.js
rename to packages/frontend/app/components/pending-updates-summary.js
diff --git a/app/components/program-year/collapsed-objectives.hbs b/packages/frontend/app/components/program-year/collapsed-objectives.hbs
similarity index 100%
rename from app/components/program-year/collapsed-objectives.hbs
rename to packages/frontend/app/components/program-year/collapsed-objectives.hbs
diff --git a/app/components/program-year/collapsed-objectives.js b/packages/frontend/app/components/program-year/collapsed-objectives.js
similarity index 100%
rename from app/components/program-year/collapsed-objectives.js
rename to packages/frontend/app/components/program-year/collapsed-objectives.js
diff --git a/app/components/program-year/competencies.hbs b/packages/frontend/app/components/program-year/competencies.hbs
similarity index 100%
rename from app/components/program-year/competencies.hbs
rename to packages/frontend/app/components/program-year/competencies.hbs
diff --git a/app/components/program-year/competencies.js b/packages/frontend/app/components/program-year/competencies.js
similarity index 100%
rename from app/components/program-year/competencies.js
rename to packages/frontend/app/components/program-year/competencies.js
diff --git a/app/components/program-year/competency-list-item.hbs b/packages/frontend/app/components/program-year/competency-list-item.hbs
similarity index 100%
rename from app/components/program-year/competency-list-item.hbs
rename to packages/frontend/app/components/program-year/competency-list-item.hbs
diff --git a/app/components/program-year/competency-list-item.js b/packages/frontend/app/components/program-year/competency-list-item.js
similarity index 100%
rename from app/components/program-year/competency-list-item.js
rename to packages/frontend/app/components/program-year/competency-list-item.js
diff --git a/app/components/program-year/courses.hbs b/packages/frontend/app/components/program-year/courses.hbs
similarity index 100%
rename from app/components/program-year/courses.hbs
rename to packages/frontend/app/components/program-year/courses.hbs
diff --git a/app/components/program-year/courses.js b/packages/frontend/app/components/program-year/courses.js
similarity index 100%
rename from app/components/program-year/courses.js
rename to packages/frontend/app/components/program-year/courses.js
diff --git a/app/components/program-year/details.hbs b/packages/frontend/app/components/program-year/details.hbs
similarity index 100%
rename from app/components/program-year/details.hbs
rename to packages/frontend/app/components/program-year/details.hbs
diff --git a/app/components/program-year/header.hbs b/packages/frontend/app/components/program-year/header.hbs
similarity index 100%
rename from app/components/program-year/header.hbs
rename to packages/frontend/app/components/program-year/header.hbs
diff --git a/app/components/program-year/header.js b/packages/frontend/app/components/program-year/header.js
similarity index 100%
rename from app/components/program-year/header.js
rename to packages/frontend/app/components/program-year/header.js
diff --git a/app/components/program-year/leadership-expanded.hbs b/packages/frontend/app/components/program-year/leadership-expanded.hbs
similarity index 100%
rename from app/components/program-year/leadership-expanded.hbs
rename to packages/frontend/app/components/program-year/leadership-expanded.hbs
diff --git a/app/components/program-year/leadership-expanded.js b/packages/frontend/app/components/program-year/leadership-expanded.js
similarity index 100%
rename from app/components/program-year/leadership-expanded.js
rename to packages/frontend/app/components/program-year/leadership-expanded.js
diff --git a/app/components/program-year/list-item.hbs b/packages/frontend/app/components/program-year/list-item.hbs
similarity index 100%
rename from app/components/program-year/list-item.hbs
rename to packages/frontend/app/components/program-year/list-item.hbs
diff --git a/app/components/program-year/list-item.js b/packages/frontend/app/components/program-year/list-item.js
similarity index 100%
rename from app/components/program-year/list-item.js
rename to packages/frontend/app/components/program-year/list-item.js
diff --git a/app/components/program-year/list.hbs b/packages/frontend/app/components/program-year/list.hbs
similarity index 100%
rename from app/components/program-year/list.hbs
rename to packages/frontend/app/components/program-year/list.hbs
diff --git a/app/components/program-year/list.js b/packages/frontend/app/components/program-year/list.js
similarity index 100%
rename from app/components/program-year/list.js
rename to packages/frontend/app/components/program-year/list.js
diff --git a/app/components/program-year/manage-objective-competency.hbs b/packages/frontend/app/components/program-year/manage-objective-competency.hbs
similarity index 100%
rename from app/components/program-year/manage-objective-competency.hbs
rename to packages/frontend/app/components/program-year/manage-objective-competency.hbs
diff --git a/app/components/program-year/manage-objective-descriptors.hbs b/packages/frontend/app/components/program-year/manage-objective-descriptors.hbs
similarity index 100%
rename from app/components/program-year/manage-objective-descriptors.hbs
rename to packages/frontend/app/components/program-year/manage-objective-descriptors.hbs
diff --git a/app/components/program-year/managed-competency-list-item.hbs b/packages/frontend/app/components/program-year/managed-competency-list-item.hbs
similarity index 100%
rename from app/components/program-year/managed-competency-list-item.hbs
rename to packages/frontend/app/components/program-year/managed-competency-list-item.hbs
diff --git a/app/components/program-year/managed-competency-list-item.js b/packages/frontend/app/components/program-year/managed-competency-list-item.js
similarity index 100%
rename from app/components/program-year/managed-competency-list-item.js
rename to packages/frontend/app/components/program-year/managed-competency-list-item.js
diff --git a/app/components/program-year/new.hbs b/packages/frontend/app/components/program-year/new.hbs
similarity index 100%
rename from app/components/program-year/new.hbs
rename to packages/frontend/app/components/program-year/new.hbs
diff --git a/app/components/program-year/new.js b/packages/frontend/app/components/program-year/new.js
similarity index 100%
rename from app/components/program-year/new.js
rename to packages/frontend/app/components/program-year/new.js
diff --git a/app/components/program-year/objective-list-item-competency.hbs b/packages/frontend/app/components/program-year/objective-list-item-competency.hbs
similarity index 100%
rename from app/components/program-year/objective-list-item-competency.hbs
rename to packages/frontend/app/components/program-year/objective-list-item-competency.hbs
diff --git a/app/components/program-year/objective-list-item-descriptors.hbs b/packages/frontend/app/components/program-year/objective-list-item-descriptors.hbs
similarity index 100%
rename from app/components/program-year/objective-list-item-descriptors.hbs
rename to packages/frontend/app/components/program-year/objective-list-item-descriptors.hbs
diff --git a/app/components/program-year/objective-list-item-expanded.hbs b/packages/frontend/app/components/program-year/objective-list-item-expanded.hbs
similarity index 100%
rename from app/components/program-year/objective-list-item-expanded.hbs
rename to packages/frontend/app/components/program-year/objective-list-item-expanded.hbs
diff --git a/app/components/program-year/objective-list-item-expanded.js b/packages/frontend/app/components/program-year/objective-list-item-expanded.js
similarity index 100%
rename from app/components/program-year/objective-list-item-expanded.js
rename to packages/frontend/app/components/program-year/objective-list-item-expanded.js
diff --git a/app/components/program-year/objective-list-item.hbs b/packages/frontend/app/components/program-year/objective-list-item.hbs
similarity index 100%
rename from app/components/program-year/objective-list-item.hbs
rename to packages/frontend/app/components/program-year/objective-list-item.hbs
diff --git a/app/components/program-year/objective-list-item.js b/packages/frontend/app/components/program-year/objective-list-item.js
similarity index 100%
rename from app/components/program-year/objective-list-item.js
rename to packages/frontend/app/components/program-year/objective-list-item.js
diff --git a/app/components/program-year/objective-list-loading.hbs b/packages/frontend/app/components/program-year/objective-list-loading.hbs
similarity index 100%
rename from app/components/program-year/objective-list-loading.hbs
rename to packages/frontend/app/components/program-year/objective-list-loading.hbs
diff --git a/app/components/program-year/objective-list.hbs b/packages/frontend/app/components/program-year/objective-list.hbs
similarity index 100%
rename from app/components/program-year/objective-list.hbs
rename to packages/frontend/app/components/program-year/objective-list.hbs
diff --git a/app/components/program-year/objective-list.js b/packages/frontend/app/components/program-year/objective-list.js
similarity index 100%
rename from app/components/program-year/objective-list.js
rename to packages/frontend/app/components/program-year/objective-list.js
diff --git a/app/components/program-year/objectives.hbs b/packages/frontend/app/components/program-year/objectives.hbs
similarity index 100%
rename from app/components/program-year/objectives.hbs
rename to packages/frontend/app/components/program-year/objectives.hbs
diff --git a/app/components/program-year/objectives.js b/packages/frontend/app/components/program-year/objectives.js
similarity index 100%
rename from app/components/program-year/objectives.js
rename to packages/frontend/app/components/program-year/objectives.js
diff --git a/app/components/program-year/overview.hbs b/packages/frontend/app/components/program-year/overview.hbs
similarity index 100%
rename from app/components/program-year/overview.hbs
rename to packages/frontend/app/components/program-year/overview.hbs
diff --git a/app/components/program-year/visualize-objectives.hbs b/packages/frontend/app/components/program-year/visualize-objectives.hbs
similarity index 100%
rename from app/components/program-year/visualize-objectives.hbs
rename to packages/frontend/app/components/program-year/visualize-objectives.hbs
diff --git a/app/components/program/header.hbs b/packages/frontend/app/components/program/header.hbs
similarity index 100%
rename from app/components/program/header.hbs
rename to packages/frontend/app/components/program/header.hbs
diff --git a/app/components/program/header.js b/packages/frontend/app/components/program/header.js
similarity index 100%
rename from app/components/program/header.js
rename to packages/frontend/app/components/program/header.js
diff --git a/app/components/program/leadership-expanded.hbs b/packages/frontend/app/components/program/leadership-expanded.hbs
similarity index 100%
rename from app/components/program/leadership-expanded.hbs
rename to packages/frontend/app/components/program/leadership-expanded.hbs
diff --git a/app/components/program/leadership-expanded.js b/packages/frontend/app/components/program/leadership-expanded.js
similarity index 100%
rename from app/components/program/leadership-expanded.js
rename to packages/frontend/app/components/program/leadership-expanded.js
diff --git a/app/components/program/new.hbs b/packages/frontend/app/components/program/new.hbs
similarity index 100%
rename from app/components/program/new.hbs
rename to packages/frontend/app/components/program/new.hbs
diff --git a/app/components/program/new.js b/packages/frontend/app/components/program/new.js
similarity index 100%
rename from app/components/program/new.js
rename to packages/frontend/app/components/program/new.js
diff --git a/app/components/program/overview.hbs b/packages/frontend/app/components/program/overview.hbs
similarity index 100%
rename from app/components/program/overview.hbs
rename to packages/frontend/app/components/program/overview.hbs
diff --git a/app/components/program/overview.js b/packages/frontend/app/components/program/overview.js
similarity index 100%
rename from app/components/program/overview.js
rename to packages/frontend/app/components/program/overview.js
diff --git a/app/components/program/root.hbs b/packages/frontend/app/components/program/root.hbs
similarity index 100%
rename from app/components/program/root.hbs
rename to packages/frontend/app/components/program/root.hbs
diff --git a/app/components/programs/list-item.hbs b/packages/frontend/app/components/programs/list-item.hbs
similarity index 100%
rename from app/components/programs/list-item.hbs
rename to packages/frontend/app/components/programs/list-item.hbs
diff --git a/app/components/programs/list-item.js b/packages/frontend/app/components/programs/list-item.js
similarity index 100%
rename from app/components/programs/list-item.js
rename to packages/frontend/app/components/programs/list-item.js
diff --git a/app/components/programs/list.hbs b/packages/frontend/app/components/programs/list.hbs
similarity index 100%
rename from app/components/programs/list.hbs
rename to packages/frontend/app/components/programs/list.hbs
diff --git a/app/components/programs/root.hbs b/packages/frontend/app/components/programs/root.hbs
similarity index 100%
rename from app/components/programs/root.hbs
rename to packages/frontend/app/components/programs/root.hbs
diff --git a/app/components/programs/root.js b/packages/frontend/app/components/programs/root.js
similarity index 100%
rename from app/components/programs/root.js
rename to packages/frontend/app/components/programs/root.js
diff --git a/app/components/reports/list-loading.hbs b/packages/frontend/app/components/reports/list-loading.hbs
similarity index 100%
rename from app/components/reports/list-loading.hbs
rename to packages/frontend/app/components/reports/list-loading.hbs
diff --git a/app/components/reports/list.hbs b/packages/frontend/app/components/reports/list.hbs
similarity index 100%
rename from app/components/reports/list.hbs
rename to packages/frontend/app/components/reports/list.hbs
diff --git a/app/components/reports/list.js b/packages/frontend/app/components/reports/list.js
similarity index 100%
rename from app/components/reports/list.js
rename to packages/frontend/app/components/reports/list.js
diff --git a/app/components/reports/new-subject.hbs b/packages/frontend/app/components/reports/new-subject.hbs
similarity index 100%
rename from app/components/reports/new-subject.hbs
rename to packages/frontend/app/components/reports/new-subject.hbs
diff --git a/app/components/reports/new-subject.js b/packages/frontend/app/components/reports/new-subject.js
similarity index 100%
rename from app/components/reports/new-subject.js
rename to packages/frontend/app/components/reports/new-subject.js
diff --git a/app/components/reports/root.hbs b/packages/frontend/app/components/reports/root.hbs
similarity index 100%
rename from app/components/reports/root.hbs
rename to packages/frontend/app/components/reports/root.hbs
diff --git a/app/components/reports/subject-results.hbs b/packages/frontend/app/components/reports/subject-results.hbs
similarity index 100%
rename from app/components/reports/subject-results.hbs
rename to packages/frontend/app/components/reports/subject-results.hbs
diff --git a/app/components/reports/subject-results.js b/packages/frontend/app/components/reports/subject-results.js
similarity index 100%
rename from app/components/reports/subject-results.js
rename to packages/frontend/app/components/reports/subject-results.js
diff --git a/app/components/reports/subject.hbs b/packages/frontend/app/components/reports/subject.hbs
similarity index 100%
rename from app/components/reports/subject.hbs
rename to packages/frontend/app/components/reports/subject.hbs
diff --git a/app/components/reports/subject.js b/packages/frontend/app/components/reports/subject.js
similarity index 100%
rename from app/components/reports/subject.js
rename to packages/frontend/app/components/reports/subject.js
diff --git a/app/components/reports/subject/competency.hbs b/packages/frontend/app/components/reports/subject/competency.hbs
similarity index 100%
rename from app/components/reports/subject/competency.hbs
rename to packages/frontend/app/components/reports/subject/competency.hbs
diff --git a/app/components/reports/subject/competency.js b/packages/frontend/app/components/reports/subject/competency.js
similarity index 100%
rename from app/components/reports/subject/competency.js
rename to packages/frontend/app/components/reports/subject/competency.js
diff --git a/app/components/reports/subject/course.hbs b/packages/frontend/app/components/reports/subject/course.hbs
similarity index 100%
rename from app/components/reports/subject/course.hbs
rename to packages/frontend/app/components/reports/subject/course.hbs
diff --git a/app/components/reports/subject/course.js b/packages/frontend/app/components/reports/subject/course.js
similarity index 100%
rename from app/components/reports/subject/course.js
rename to packages/frontend/app/components/reports/subject/course.js
diff --git a/app/components/reports/subject/instructor-group.hbs b/packages/frontend/app/components/reports/subject/instructor-group.hbs
similarity index 100%
rename from app/components/reports/subject/instructor-group.hbs
rename to packages/frontend/app/components/reports/subject/instructor-group.hbs
diff --git a/app/components/reports/subject/instructor-group.js b/packages/frontend/app/components/reports/subject/instructor-group.js
similarity index 100%
rename from app/components/reports/subject/instructor-group.js
rename to packages/frontend/app/components/reports/subject/instructor-group.js
diff --git a/app/components/reports/subject/instructor.hbs b/packages/frontend/app/components/reports/subject/instructor.hbs
similarity index 100%
rename from app/components/reports/subject/instructor.hbs
rename to packages/frontend/app/components/reports/subject/instructor.hbs
diff --git a/app/components/reports/subject/instructor.js b/packages/frontend/app/components/reports/subject/instructor.js
similarity index 100%
rename from app/components/reports/subject/instructor.js
rename to packages/frontend/app/components/reports/subject/instructor.js
diff --git a/app/components/reports/subject/learning-material.hbs b/packages/frontend/app/components/reports/subject/learning-material.hbs
similarity index 100%
rename from app/components/reports/subject/learning-material.hbs
rename to packages/frontend/app/components/reports/subject/learning-material.hbs
diff --git a/app/components/reports/subject/learning-material.js b/packages/frontend/app/components/reports/subject/learning-material.js
similarity index 100%
rename from app/components/reports/subject/learning-material.js
rename to packages/frontend/app/components/reports/subject/learning-material.js
diff --git a/app/components/reports/subject/mesh-term.hbs b/packages/frontend/app/components/reports/subject/mesh-term.hbs
similarity index 100%
rename from app/components/reports/subject/mesh-term.hbs
rename to packages/frontend/app/components/reports/subject/mesh-term.hbs
diff --git a/app/components/reports/subject/mesh-term.js b/packages/frontend/app/components/reports/subject/mesh-term.js
similarity index 100%
rename from app/components/reports/subject/mesh-term.js
rename to packages/frontend/app/components/reports/subject/mesh-term.js
diff --git a/app/components/reports/subject/new/competency.hbs b/packages/frontend/app/components/reports/subject/new/competency.hbs
similarity index 100%
rename from app/components/reports/subject/new/competency.hbs
rename to packages/frontend/app/components/reports/subject/new/competency.hbs
diff --git a/app/components/reports/subject/new/competency.js b/packages/frontend/app/components/reports/subject/new/competency.js
similarity index 100%
rename from app/components/reports/subject/new/competency.js
rename to packages/frontend/app/components/reports/subject/new/competency.js
diff --git a/app/components/reports/subject/new/course.hbs b/packages/frontend/app/components/reports/subject/new/course.hbs
similarity index 100%
rename from app/components/reports/subject/new/course.hbs
rename to packages/frontend/app/components/reports/subject/new/course.hbs
diff --git a/app/components/reports/subject/new/course.js b/packages/frontend/app/components/reports/subject/new/course.js
similarity index 100%
rename from app/components/reports/subject/new/course.js
rename to packages/frontend/app/components/reports/subject/new/course.js
diff --git a/app/components/reports/subject/new/instructor-group.hbs b/packages/frontend/app/components/reports/subject/new/instructor-group.hbs
similarity index 100%
rename from app/components/reports/subject/new/instructor-group.hbs
rename to packages/frontend/app/components/reports/subject/new/instructor-group.hbs
diff --git a/app/components/reports/subject/new/instructor-group.js b/packages/frontend/app/components/reports/subject/new/instructor-group.js
similarity index 100%
rename from app/components/reports/subject/new/instructor-group.js
rename to packages/frontend/app/components/reports/subject/new/instructor-group.js
diff --git a/app/components/reports/subject/new/instructor.hbs b/packages/frontend/app/components/reports/subject/new/instructor.hbs
similarity index 100%
rename from app/components/reports/subject/new/instructor.hbs
rename to packages/frontend/app/components/reports/subject/new/instructor.hbs
diff --git a/app/components/reports/subject/new/instructor.js b/packages/frontend/app/components/reports/subject/new/instructor.js
similarity index 100%
rename from app/components/reports/subject/new/instructor.js
rename to packages/frontend/app/components/reports/subject/new/instructor.js
diff --git a/app/components/reports/subject/new/learning-material.hbs b/packages/frontend/app/components/reports/subject/new/learning-material.hbs
similarity index 100%
rename from app/components/reports/subject/new/learning-material.hbs
rename to packages/frontend/app/components/reports/subject/new/learning-material.hbs
diff --git a/app/components/reports/subject/new/learning-material.js b/packages/frontend/app/components/reports/subject/new/learning-material.js
similarity index 100%
rename from app/components/reports/subject/new/learning-material.js
rename to packages/frontend/app/components/reports/subject/new/learning-material.js
diff --git a/app/components/reports/subject/new/mesh-term.hbs b/packages/frontend/app/components/reports/subject/new/mesh-term.hbs
similarity index 100%
rename from app/components/reports/subject/new/mesh-term.hbs
rename to packages/frontend/app/components/reports/subject/new/mesh-term.hbs
diff --git a/app/components/reports/subject/new/mesh-term.js b/packages/frontend/app/components/reports/subject/new/mesh-term.js
similarity index 100%
rename from app/components/reports/subject/new/mesh-term.js
rename to packages/frontend/app/components/reports/subject/new/mesh-term.js
diff --git a/app/components/reports/subject/new/program-year.hbs b/packages/frontend/app/components/reports/subject/new/program-year.hbs
similarity index 100%
rename from app/components/reports/subject/new/program-year.hbs
rename to packages/frontend/app/components/reports/subject/new/program-year.hbs
diff --git a/app/components/reports/subject/new/program-year.js b/packages/frontend/app/components/reports/subject/new/program-year.js
similarity index 100%
rename from app/components/reports/subject/new/program-year.js
rename to packages/frontend/app/components/reports/subject/new/program-year.js
diff --git a/app/components/reports/subject/new/program.hbs b/packages/frontend/app/components/reports/subject/new/program.hbs
similarity index 100%
rename from app/components/reports/subject/new/program.hbs
rename to packages/frontend/app/components/reports/subject/new/program.hbs
diff --git a/app/components/reports/subject/new/program.js b/packages/frontend/app/components/reports/subject/new/program.js
similarity index 100%
rename from app/components/reports/subject/new/program.js
rename to packages/frontend/app/components/reports/subject/new/program.js
diff --git a/app/components/reports/subject/new/search/input.hbs b/packages/frontend/app/components/reports/subject/new/search/input.hbs
similarity index 100%
rename from app/components/reports/subject/new/search/input.hbs
rename to packages/frontend/app/components/reports/subject/new/search/input.hbs
diff --git a/app/components/reports/subject/new/search/input.js b/packages/frontend/app/components/reports/subject/new/search/input.js
similarity index 100%
rename from app/components/reports/subject/new/search/input.js
rename to packages/frontend/app/components/reports/subject/new/search/input.js
diff --git a/app/components/reports/subject/new/session-type.hbs b/packages/frontend/app/components/reports/subject/new/session-type.hbs
similarity index 100%
rename from app/components/reports/subject/new/session-type.hbs
rename to packages/frontend/app/components/reports/subject/new/session-type.hbs
diff --git a/app/components/reports/subject/new/session-type.js b/packages/frontend/app/components/reports/subject/new/session-type.js
similarity index 100%
rename from app/components/reports/subject/new/session-type.js
rename to packages/frontend/app/components/reports/subject/new/session-type.js
diff --git a/app/components/reports/subject/new/session.hbs b/packages/frontend/app/components/reports/subject/new/session.hbs
similarity index 100%
rename from app/components/reports/subject/new/session.hbs
rename to packages/frontend/app/components/reports/subject/new/session.hbs
diff --git a/app/components/reports/subject/new/session.js b/packages/frontend/app/components/reports/subject/new/session.js
similarity index 100%
rename from app/components/reports/subject/new/session.js
rename to packages/frontend/app/components/reports/subject/new/session.js
diff --git a/app/components/reports/subject/new/term.hbs b/packages/frontend/app/components/reports/subject/new/term.hbs
similarity index 100%
rename from app/components/reports/subject/new/term.hbs
rename to packages/frontend/app/components/reports/subject/new/term.hbs
diff --git a/app/components/reports/subject/new/term.js b/packages/frontend/app/components/reports/subject/new/term.js
similarity index 100%
rename from app/components/reports/subject/new/term.js
rename to packages/frontend/app/components/reports/subject/new/term.js
diff --git a/app/components/reports/subject/program-year.hbs b/packages/frontend/app/components/reports/subject/program-year.hbs
similarity index 100%
rename from app/components/reports/subject/program-year.hbs
rename to packages/frontend/app/components/reports/subject/program-year.hbs
diff --git a/app/components/reports/subject/program-year.js b/packages/frontend/app/components/reports/subject/program-year.js
similarity index 100%
rename from app/components/reports/subject/program-year.js
rename to packages/frontend/app/components/reports/subject/program-year.js
diff --git a/app/components/reports/subject/program.hbs b/packages/frontend/app/components/reports/subject/program.hbs
similarity index 100%
rename from app/components/reports/subject/program.hbs
rename to packages/frontend/app/components/reports/subject/program.hbs
diff --git a/app/components/reports/subject/program.js b/packages/frontend/app/components/reports/subject/program.js
similarity index 100%
rename from app/components/reports/subject/program.js
rename to packages/frontend/app/components/reports/subject/program.js
diff --git a/app/components/reports/subject/session-type.hbs b/packages/frontend/app/components/reports/subject/session-type.hbs
similarity index 100%
rename from app/components/reports/subject/session-type.hbs
rename to packages/frontend/app/components/reports/subject/session-type.hbs
diff --git a/app/components/reports/subject/session-type.js b/packages/frontend/app/components/reports/subject/session-type.js
similarity index 100%
rename from app/components/reports/subject/session-type.js
rename to packages/frontend/app/components/reports/subject/session-type.js
diff --git a/app/components/reports/subject/session.hbs b/packages/frontend/app/components/reports/subject/session.hbs
similarity index 100%
rename from app/components/reports/subject/session.hbs
rename to packages/frontend/app/components/reports/subject/session.hbs
diff --git a/app/components/reports/subject/session.js b/packages/frontend/app/components/reports/subject/session.js
similarity index 100%
rename from app/components/reports/subject/session.js
rename to packages/frontend/app/components/reports/subject/session.js
diff --git a/app/components/reports/subject/term.hbs b/packages/frontend/app/components/reports/subject/term.hbs
similarity index 100%
rename from app/components/reports/subject/term.hbs
rename to packages/frontend/app/components/reports/subject/term.hbs
diff --git a/app/components/reports/subject/term.js b/packages/frontend/app/components/reports/subject/term.js
similarity index 100%
rename from app/components/reports/subject/term.js
rename to packages/frontend/app/components/reports/subject/term.js
diff --git a/app/components/reports/table-row.hbs b/packages/frontend/app/components/reports/table-row.hbs
similarity index 100%
rename from app/components/reports/table-row.hbs
rename to packages/frontend/app/components/reports/table-row.hbs
diff --git a/app/components/reports/table.hbs b/packages/frontend/app/components/reports/table.hbs
similarity index 100%
rename from app/components/reports/table.hbs
rename to packages/frontend/app/components/reports/table.hbs
diff --git a/app/components/reports/table.js b/packages/frontend/app/components/reports/table.js
similarity index 100%
rename from app/components/reports/table.js
rename to packages/frontend/app/components/reports/table.js
diff --git a/app/components/school-competencies-collapsed.hbs b/packages/frontend/app/components/school-competencies-collapsed.hbs
similarity index 100%
rename from app/components/school-competencies-collapsed.hbs
rename to packages/frontend/app/components/school-competencies-collapsed.hbs
diff --git a/app/components/school-competencies-collapsed.js b/packages/frontend/app/components/school-competencies-collapsed.js
similarity index 100%
rename from app/components/school-competencies-collapsed.js
rename to packages/frontend/app/components/school-competencies-collapsed.js
diff --git a/app/components/school-competencies-expanded.hbs b/packages/frontend/app/components/school-competencies-expanded.hbs
similarity index 100%
rename from app/components/school-competencies-expanded.hbs
rename to packages/frontend/app/components/school-competencies-expanded.hbs
diff --git a/app/components/school-competencies-expanded.js b/packages/frontend/app/components/school-competencies-expanded.js
similarity index 100%
rename from app/components/school-competencies-expanded.js
rename to packages/frontend/app/components/school-competencies-expanded.js
diff --git a/app/components/school-competencies-list-item-pcrs.hbs b/packages/frontend/app/components/school-competencies-list-item-pcrs.hbs
similarity index 100%
rename from app/components/school-competencies-list-item-pcrs.hbs
rename to packages/frontend/app/components/school-competencies-list-item-pcrs.hbs
diff --git a/app/components/school-competencies-list-item-pcrs.js b/packages/frontend/app/components/school-competencies-list-item-pcrs.js
similarity index 100%
rename from app/components/school-competencies-list-item-pcrs.js
rename to packages/frontend/app/components/school-competencies-list-item-pcrs.js
diff --git a/app/components/school-competencies-list-item.hbs b/packages/frontend/app/components/school-competencies-list-item.hbs
similarity index 100%
rename from app/components/school-competencies-list-item.hbs
rename to packages/frontend/app/components/school-competencies-list-item.hbs
diff --git a/app/components/school-competencies-list-item.js b/packages/frontend/app/components/school-competencies-list-item.js
similarity index 100%
rename from app/components/school-competencies-list-item.js
rename to packages/frontend/app/components/school-competencies-list-item.js
diff --git a/app/components/school-competencies-list.hbs b/packages/frontend/app/components/school-competencies-list.hbs
similarity index 100%
rename from app/components/school-competencies-list.hbs
rename to packages/frontend/app/components/school-competencies-list.hbs
diff --git a/app/components/school-competencies-list.js b/packages/frontend/app/components/school-competencies-list.js
similarity index 100%
rename from app/components/school-competencies-list.js
rename to packages/frontend/app/components/school-competencies-list.js
diff --git a/app/components/school-competencies-manager.hbs b/packages/frontend/app/components/school-competencies-manager.hbs
similarity index 100%
rename from app/components/school-competencies-manager.hbs
rename to packages/frontend/app/components/school-competencies-manager.hbs
diff --git a/app/components/school-competencies-manager.js b/packages/frontend/app/components/school-competencies-manager.js
similarity index 100%
rename from app/components/school-competencies-manager.js
rename to packages/frontend/app/components/school-competencies-manager.js
diff --git a/app/components/school-competencies-pcrs-mapper.hbs b/packages/frontend/app/components/school-competencies-pcrs-mapper.hbs
similarity index 100%
rename from app/components/school-competencies-pcrs-mapper.hbs
rename to packages/frontend/app/components/school-competencies-pcrs-mapper.hbs
diff --git a/app/components/school-curriculum-inventory-institution-details.hbs b/packages/frontend/app/components/school-curriculum-inventory-institution-details.hbs
similarity index 100%
rename from app/components/school-curriculum-inventory-institution-details.hbs
rename to packages/frontend/app/components/school-curriculum-inventory-institution-details.hbs
diff --git a/app/components/school-curriculum-inventory-institution-manager.hbs b/packages/frontend/app/components/school-curriculum-inventory-institution-manager.hbs
similarity index 100%
rename from app/components/school-curriculum-inventory-institution-manager.hbs
rename to packages/frontend/app/components/school-curriculum-inventory-institution-manager.hbs
diff --git a/app/components/school-curriculum-inventory-institution-manager.js b/packages/frontend/app/components/school-curriculum-inventory-institution-manager.js
similarity index 100%
rename from app/components/school-curriculum-inventory-institution-manager.js
rename to packages/frontend/app/components/school-curriculum-inventory-institution-manager.js
diff --git a/app/components/school-leadership-expanded.hbs b/packages/frontend/app/components/school-leadership-expanded.hbs
similarity index 100%
rename from app/components/school-leadership-expanded.hbs
rename to packages/frontend/app/components/school-leadership-expanded.hbs
diff --git a/app/components/school-leadership-expanded.js b/packages/frontend/app/components/school-leadership-expanded.js
similarity index 100%
rename from app/components/school-leadership-expanded.js
rename to packages/frontend/app/components/school-leadership-expanded.js
diff --git a/app/components/school-list.hbs b/packages/frontend/app/components/school-list.hbs
similarity index 100%
rename from app/components/school-list.hbs
rename to packages/frontend/app/components/school-list.hbs
diff --git a/app/components/school-list.js b/packages/frontend/app/components/school-list.js
similarity index 100%
rename from app/components/school-list.js
rename to packages/frontend/app/components/school-list.js
diff --git a/app/components/school-manager.hbs b/packages/frontend/app/components/school-manager.hbs
similarity index 100%
rename from app/components/school-manager.hbs
rename to packages/frontend/app/components/school-manager.hbs
diff --git a/app/components/school-manager.js b/packages/frontend/app/components/school-manager.js
similarity index 100%
rename from app/components/school-manager.js
rename to packages/frontend/app/components/school-manager.js
diff --git a/app/components/school-new-vocabulary-form.hbs b/packages/frontend/app/components/school-new-vocabulary-form.hbs
similarity index 100%
rename from app/components/school-new-vocabulary-form.hbs
rename to packages/frontend/app/components/school-new-vocabulary-form.hbs
diff --git a/app/components/school-new-vocabulary-form.js b/packages/frontend/app/components/school-new-vocabulary-form.js
similarity index 100%
rename from app/components/school-new-vocabulary-form.js
rename to packages/frontend/app/components/school-new-vocabulary-form.js
diff --git a/app/components/school-session-attributes-collapsed.hbs b/packages/frontend/app/components/school-session-attributes-collapsed.hbs
similarity index 100%
rename from app/components/school-session-attributes-collapsed.hbs
rename to packages/frontend/app/components/school-session-attributes-collapsed.hbs
diff --git a/app/components/school-session-attributes-expanded.hbs b/packages/frontend/app/components/school-session-attributes-expanded.hbs
similarity index 100%
rename from app/components/school-session-attributes-expanded.hbs
rename to packages/frontend/app/components/school-session-attributes-expanded.hbs
diff --git a/app/components/school-session-attributes-expanded.js b/packages/frontend/app/components/school-session-attributes-expanded.js
similarity index 100%
rename from app/components/school-session-attributes-expanded.js
rename to packages/frontend/app/components/school-session-attributes-expanded.js
diff --git a/app/components/school-session-attributes-manager.hbs b/packages/frontend/app/components/school-session-attributes-manager.hbs
similarity index 100%
rename from app/components/school-session-attributes-manager.hbs
rename to packages/frontend/app/components/school-session-attributes-manager.hbs
diff --git a/app/components/school-session-attributes.hbs b/packages/frontend/app/components/school-session-attributes.hbs
similarity index 100%
rename from app/components/school-session-attributes.hbs
rename to packages/frontend/app/components/school-session-attributes.hbs
diff --git a/app/components/school-session-attributes.js b/packages/frontend/app/components/school-session-attributes.js
similarity index 100%
rename from app/components/school-session-attributes.js
rename to packages/frontend/app/components/school-session-attributes.js
diff --git a/app/components/school-session-type-form.hbs b/packages/frontend/app/components/school-session-type-form.hbs
similarity index 100%
rename from app/components/school-session-type-form.hbs
rename to packages/frontend/app/components/school-session-type-form.hbs
diff --git a/app/components/school-session-type-form.js b/packages/frontend/app/components/school-session-type-form.js
similarity index 100%
rename from app/components/school-session-type-form.js
rename to packages/frontend/app/components/school-session-type-form.js
diff --git a/app/components/school-session-type-manager.hbs b/packages/frontend/app/components/school-session-type-manager.hbs
similarity index 100%
rename from app/components/school-session-type-manager.hbs
rename to packages/frontend/app/components/school-session-type-manager.hbs
diff --git a/app/components/school-session-type-manager.js b/packages/frontend/app/components/school-session-type-manager.js
similarity index 100%
rename from app/components/school-session-type-manager.js
rename to packages/frontend/app/components/school-session-type-manager.js
diff --git a/app/components/school-session-types-collapsed.hbs b/packages/frontend/app/components/school-session-types-collapsed.hbs
similarity index 100%
rename from app/components/school-session-types-collapsed.hbs
rename to packages/frontend/app/components/school-session-types-collapsed.hbs
diff --git a/app/components/school-session-types-collapsed.js b/packages/frontend/app/components/school-session-types-collapsed.js
similarity index 100%
rename from app/components/school-session-types-collapsed.js
rename to packages/frontend/app/components/school-session-types-collapsed.js
diff --git a/app/components/school-session-types-expanded.hbs b/packages/frontend/app/components/school-session-types-expanded.hbs
similarity index 100%
rename from app/components/school-session-types-expanded.hbs
rename to packages/frontend/app/components/school-session-types-expanded.hbs
diff --git a/app/components/school-session-types-expanded.js b/packages/frontend/app/components/school-session-types-expanded.js
similarity index 100%
rename from app/components/school-session-types-expanded.js
rename to packages/frontend/app/components/school-session-types-expanded.js
diff --git a/app/components/school-session-types-list-item.hbs b/packages/frontend/app/components/school-session-types-list-item.hbs
similarity index 100%
rename from app/components/school-session-types-list-item.hbs
rename to packages/frontend/app/components/school-session-types-list-item.hbs
diff --git a/app/components/school-session-types-list-item.js b/packages/frontend/app/components/school-session-types-list-item.js
similarity index 100%
rename from app/components/school-session-types-list-item.js
rename to packages/frontend/app/components/school-session-types-list-item.js
diff --git a/app/components/school-session-types-list.hbs b/packages/frontend/app/components/school-session-types-list.hbs
similarity index 100%
rename from app/components/school-session-types-list.hbs
rename to packages/frontend/app/components/school-session-types-list.hbs
diff --git a/app/components/school-vocabularies-collapsed.hbs b/packages/frontend/app/components/school-vocabularies-collapsed.hbs
similarity index 100%
rename from app/components/school-vocabularies-collapsed.hbs
rename to packages/frontend/app/components/school-vocabularies-collapsed.hbs
diff --git a/app/components/school-vocabularies-collapsed.js b/packages/frontend/app/components/school-vocabularies-collapsed.js
similarity index 100%
rename from app/components/school-vocabularies-collapsed.js
rename to packages/frontend/app/components/school-vocabularies-collapsed.js
diff --git a/app/components/school-vocabularies-expanded.hbs b/packages/frontend/app/components/school-vocabularies-expanded.hbs
similarity index 100%
rename from app/components/school-vocabularies-expanded.hbs
rename to packages/frontend/app/components/school-vocabularies-expanded.hbs
diff --git a/app/components/school-vocabularies-expanded.js b/packages/frontend/app/components/school-vocabularies-expanded.js
similarity index 100%
rename from app/components/school-vocabularies-expanded.js
rename to packages/frontend/app/components/school-vocabularies-expanded.js
diff --git a/app/components/school-vocabularies-list.hbs b/packages/frontend/app/components/school-vocabularies-list.hbs
similarity index 100%
rename from app/components/school-vocabularies-list.hbs
rename to packages/frontend/app/components/school-vocabularies-list.hbs
diff --git a/app/components/school-vocabularies-list.js b/packages/frontend/app/components/school-vocabularies-list.js
similarity index 100%
rename from app/components/school-vocabularies-list.js
rename to packages/frontend/app/components/school-vocabularies-list.js
diff --git a/app/components/school-vocabulary-manager.hbs b/packages/frontend/app/components/school-vocabulary-manager.hbs
similarity index 100%
rename from app/components/school-vocabulary-manager.hbs
rename to packages/frontend/app/components/school-vocabulary-manager.hbs
diff --git a/app/components/school-vocabulary-manager.js b/packages/frontend/app/components/school-vocabulary-manager.js
similarity index 100%
rename from app/components/school-vocabulary-manager.js
rename to packages/frontend/app/components/school-vocabulary-manager.js
diff --git a/app/components/school-vocabulary-new-term.hbs b/packages/frontend/app/components/school-vocabulary-new-term.hbs
similarity index 100%
rename from app/components/school-vocabulary-new-term.hbs
rename to packages/frontend/app/components/school-vocabulary-new-term.hbs
diff --git a/app/components/school-vocabulary-new-term.js b/packages/frontend/app/components/school-vocabulary-new-term.js
similarity index 100%
rename from app/components/school-vocabulary-new-term.js
rename to packages/frontend/app/components/school-vocabulary-new-term.js
diff --git a/app/components/school-vocabulary-term-manager.hbs b/packages/frontend/app/components/school-vocabulary-term-manager.hbs
similarity index 100%
rename from app/components/school-vocabulary-term-manager.hbs
rename to packages/frontend/app/components/school-vocabulary-term-manager.hbs
diff --git a/app/components/school-vocabulary-term-manager.js b/packages/frontend/app/components/school-vocabulary-term-manager.js
similarity index 100%
rename from app/components/school-vocabulary-term-manager.js
rename to packages/frontend/app/components/school-vocabulary-term-manager.js
diff --git a/app/components/school/session-type-visualize-vocabularies.hbs b/packages/frontend/app/components/school/session-type-visualize-vocabularies.hbs
similarity index 100%
rename from app/components/school/session-type-visualize-vocabularies.hbs
rename to packages/frontend/app/components/school/session-type-visualize-vocabularies.hbs
diff --git a/app/components/school/session-type-visualize-vocabulary.hbs b/packages/frontend/app/components/school/session-type-visualize-vocabulary.hbs
similarity index 100%
rename from app/components/school/session-type-visualize-vocabulary.hbs
rename to packages/frontend/app/components/school/session-type-visualize-vocabulary.hbs
diff --git a/app/components/school/visualizer-session-type-vocabularies.hbs b/packages/frontend/app/components/school/visualizer-session-type-vocabularies.hbs
similarity index 100%
rename from app/components/school/visualizer-session-type-vocabularies.hbs
rename to packages/frontend/app/components/school/visualizer-session-type-vocabularies.hbs
diff --git a/app/components/school/visualizer-session-type-vocabularies.js b/packages/frontend/app/components/school/visualizer-session-type-vocabularies.js
similarity index 100%
rename from app/components/school/visualizer-session-type-vocabularies.js
rename to packages/frontend/app/components/school/visualizer-session-type-vocabularies.js
diff --git a/app/components/school/visualizer-session-type-vocabulary.hbs b/packages/frontend/app/components/school/visualizer-session-type-vocabulary.hbs
similarity index 100%
rename from app/components/school/visualizer-session-type-vocabulary.hbs
rename to packages/frontend/app/components/school/visualizer-session-type-vocabulary.hbs
diff --git a/app/components/school/visualizer-session-type-vocabulary.js b/packages/frontend/app/components/school/visualizer-session-type-vocabulary.js
similarity index 100%
rename from app/components/school/visualizer-session-type-vocabulary.js
rename to packages/frontend/app/components/school/visualizer-session-type-vocabulary.js
diff --git a/app/components/unassigned-students-summary.hbs b/packages/frontend/app/components/unassigned-students-summary.hbs
similarity index 100%
rename from app/components/unassigned-students-summary.hbs
rename to packages/frontend/app/components/unassigned-students-summary.hbs
diff --git a/app/components/unassigned-students-summary.js b/packages/frontend/app/components/unassigned-students-summary.js
similarity index 100%
rename from app/components/unassigned-students-summary.js
rename to packages/frontend/app/components/unassigned-students-summary.js
diff --git a/app/components/update-notification.hbs b/packages/frontend/app/components/update-notification.hbs
similarity index 100%
rename from app/components/update-notification.hbs
rename to packages/frontend/app/components/update-notification.hbs
diff --git a/app/components/update-notification.js b/packages/frontend/app/components/update-notification.js
similarity index 100%
rename from app/components/update-notification.js
rename to packages/frontend/app/components/update-notification.js
diff --git a/app/components/user-list.hbs b/packages/frontend/app/components/user-list.hbs
similarity index 100%
rename from app/components/user-list.hbs
rename to packages/frontend/app/components/user-list.hbs
diff --git a/app/components/user-menu.hbs b/packages/frontend/app/components/user-menu.hbs
similarity index 100%
rename from app/components/user-menu.hbs
rename to packages/frontend/app/components/user-menu.hbs
diff --git a/app/components/user-menu.js b/packages/frontend/app/components/user-menu.js
similarity index 100%
rename from app/components/user-menu.js
rename to packages/frontend/app/components/user-menu.js
diff --git a/app/components/user-profile-bio.hbs b/packages/frontend/app/components/user-profile-bio.hbs
similarity index 100%
rename from app/components/user-profile-bio.hbs
rename to packages/frontend/app/components/user-profile-bio.hbs
diff --git a/app/components/user-profile-bio.js b/packages/frontend/app/components/user-profile-bio.js
similarity index 100%
rename from app/components/user-profile-bio.js
rename to packages/frontend/app/components/user-profile-bio.js
diff --git a/app/components/user-profile-calendar.hbs b/packages/frontend/app/components/user-profile-calendar.hbs
similarity index 100%
rename from app/components/user-profile-calendar.hbs
rename to packages/frontend/app/components/user-profile-calendar.hbs
diff --git a/app/components/user-profile-calendar.js b/packages/frontend/app/components/user-profile-calendar.js
similarity index 100%
rename from app/components/user-profile-calendar.js
rename to packages/frontend/app/components/user-profile-calendar.js
diff --git a/app/components/user-profile-cohorts-details.hbs b/packages/frontend/app/components/user-profile-cohorts-details.hbs
similarity index 100%
rename from app/components/user-profile-cohorts-details.hbs
rename to packages/frontend/app/components/user-profile-cohorts-details.hbs
diff --git a/app/components/user-profile-cohorts-details.js b/packages/frontend/app/components/user-profile-cohorts-details.js
similarity index 100%
rename from app/components/user-profile-cohorts-details.js
rename to packages/frontend/app/components/user-profile-cohorts-details.js
diff --git a/app/components/user-profile-cohorts-manager.hbs b/packages/frontend/app/components/user-profile-cohorts-manager.hbs
similarity index 100%
rename from app/components/user-profile-cohorts-manager.hbs
rename to packages/frontend/app/components/user-profile-cohorts-manager.hbs
diff --git a/app/components/user-profile-cohorts-manager.js b/packages/frontend/app/components/user-profile-cohorts-manager.js
similarity index 100%
rename from app/components/user-profile-cohorts-manager.js
rename to packages/frontend/app/components/user-profile-cohorts-manager.js
diff --git a/app/components/user-profile-cohorts.hbs b/packages/frontend/app/components/user-profile-cohorts.hbs
similarity index 100%
rename from app/components/user-profile-cohorts.hbs
rename to packages/frontend/app/components/user-profile-cohorts.hbs
diff --git a/app/components/user-profile-cohorts.js b/packages/frontend/app/components/user-profile-cohorts.js
similarity index 100%
rename from app/components/user-profile-cohorts.js
rename to packages/frontend/app/components/user-profile-cohorts.js
diff --git a/app/components/user-profile-ics.hbs b/packages/frontend/app/components/user-profile-ics.hbs
similarity index 100%
rename from app/components/user-profile-ics.hbs
rename to packages/frontend/app/components/user-profile-ics.hbs
diff --git a/app/components/user-profile-ics.js b/packages/frontend/app/components/user-profile-ics.js
similarity index 100%
rename from app/components/user-profile-ics.js
rename to packages/frontend/app/components/user-profile-ics.js
diff --git a/app/components/user-profile-permissions.hbs b/packages/frontend/app/components/user-profile-permissions.hbs
similarity index 100%
rename from app/components/user-profile-permissions.hbs
rename to packages/frontend/app/components/user-profile-permissions.hbs
diff --git a/app/components/user-profile-permissions.js b/packages/frontend/app/components/user-profile-permissions.js
similarity index 100%
rename from app/components/user-profile-permissions.js
rename to packages/frontend/app/components/user-profile-permissions.js
diff --git a/app/components/user-profile-roles.hbs b/packages/frontend/app/components/user-profile-roles.hbs
similarity index 100%
rename from app/components/user-profile-roles.hbs
rename to packages/frontend/app/components/user-profile-roles.hbs
diff --git a/app/components/user-profile-roles.js b/packages/frontend/app/components/user-profile-roles.js
similarity index 100%
rename from app/components/user-profile-roles.js
rename to packages/frontend/app/components/user-profile-roles.js
diff --git a/app/components/user-profile.hbs b/packages/frontend/app/components/user-profile.hbs
similarity index 100%
rename from app/components/user-profile.hbs
rename to packages/frontend/app/components/user-profile.hbs
diff --git a/app/components/user-profile.js b/packages/frontend/app/components/user-profile.js
similarity index 100%
rename from app/components/user-profile.js
rename to packages/frontend/app/components/user-profile.js
diff --git a/app/components/user-profile/learner-group.hbs b/packages/frontend/app/components/user-profile/learner-group.hbs
similarity index 100%
rename from app/components/user-profile/learner-group.hbs
rename to packages/frontend/app/components/user-profile/learner-group.hbs
diff --git a/app/components/user-profile/learner-group.js b/packages/frontend/app/components/user-profile/learner-group.js
similarity index 100%
rename from app/components/user-profile/learner-group.js
rename to packages/frontend/app/components/user-profile/learner-group.js
diff --git a/app/components/user-profile/learner-groups.hbs b/packages/frontend/app/components/user-profile/learner-groups.hbs
similarity index 100%
rename from app/components/user-profile/learner-groups.hbs
rename to packages/frontend/app/components/user-profile/learner-groups.hbs
diff --git a/app/components/visualizer-program-year-objectives.hbs b/packages/frontend/app/components/visualizer-program-year-objectives.hbs
similarity index 100%
rename from app/components/visualizer-program-year-objectives.hbs
rename to packages/frontend/app/components/visualizer-program-year-objectives.hbs
diff --git a/app/components/visualizer-program-year-objectives.js b/packages/frontend/app/components/visualizer-program-year-objectives.js
similarity index 100%
rename from app/components/visualizer-program-year-objectives.js
rename to packages/frontend/app/components/visualizer-program-year-objectives.js
diff --git a/app/components/yes-no.hbs b/packages/frontend/app/components/yes-no.hbs
similarity index 100%
rename from app/components/yes-no.hbs
rename to packages/frontend/app/components/yes-no.hbs
diff --git a/app/controllers/admin-dashboard.js b/packages/frontend/app/controllers/admin-dashboard.js
similarity index 100%
rename from app/controllers/admin-dashboard.js
rename to packages/frontend/app/controllers/admin-dashboard.js
diff --git a/app/controllers/application.js b/packages/frontend/app/controllers/application.js
similarity index 100%
rename from app/controllers/application.js
rename to packages/frontend/app/controllers/application.js
diff --git a/app/controllers/assign-students.js b/packages/frontend/app/controllers/assign-students.js
similarity index 100%
rename from app/controllers/assign-students.js
rename to packages/frontend/app/controllers/assign-students.js
diff --git a/app/controllers/courses.js b/packages/frontend/app/controllers/courses.js
similarity index 100%
rename from app/controllers/courses.js
rename to packages/frontend/app/controllers/courses.js
diff --git a/app/controllers/curriculum-inventory-report/index.js b/packages/frontend/app/controllers/curriculum-inventory-report/index.js
similarity index 100%
rename from app/controllers/curriculum-inventory-report/index.js
rename to packages/frontend/app/controllers/curriculum-inventory-report/index.js
diff --git a/app/controllers/curriculum-inventory-report/rollover.js b/packages/frontend/app/controllers/curriculum-inventory-report/rollover.js
similarity index 100%
rename from app/controllers/curriculum-inventory-report/rollover.js
rename to packages/frontend/app/controllers/curriculum-inventory-report/rollover.js
diff --git a/app/controllers/curriculum-inventory-reports.js b/packages/frontend/app/controllers/curriculum-inventory-reports.js
similarity index 100%
rename from app/controllers/curriculum-inventory-reports.js
rename to packages/frontend/app/controllers/curriculum-inventory-reports.js
diff --git a/app/controllers/curriculum-inventory-sequence-block.js b/packages/frontend/app/controllers/curriculum-inventory-sequence-block.js
similarity index 100%
rename from app/controllers/curriculum-inventory-sequence-block.js
rename to packages/frontend/app/controllers/curriculum-inventory-sequence-block.js
diff --git a/app/controllers/dashboard/calendar.js b/packages/frontend/app/controllers/dashboard/calendar.js
similarity index 100%
rename from app/controllers/dashboard/calendar.js
rename to packages/frontend/app/controllers/dashboard/calendar.js
diff --git a/app/controllers/dashboard/materials.js b/packages/frontend/app/controllers/dashboard/materials.js
similarity index 100%
rename from app/controllers/dashboard/materials.js
rename to packages/frontend/app/controllers/dashboard/materials.js
diff --git a/app/controllers/error.js b/packages/frontend/app/controllers/error.js
similarity index 100%
rename from app/controllers/error.js
rename to packages/frontend/app/controllers/error.js
diff --git a/app/controllers/instructor-groups.js b/packages/frontend/app/controllers/instructor-groups.js
similarity index 100%
rename from app/controllers/instructor-groups.js
rename to packages/frontend/app/controllers/instructor-groups.js
diff --git a/app/controllers/learner-group.js b/packages/frontend/app/controllers/learner-group.js
similarity index 100%
rename from app/controllers/learner-group.js
rename to packages/frontend/app/controllers/learner-group.js
diff --git a/app/controllers/learner-groups.js b/packages/frontend/app/controllers/learner-groups.js
similarity index 100%
rename from app/controllers/learner-groups.js
rename to packages/frontend/app/controllers/learner-groups.js
diff --git a/app/controllers/myprofile.js b/packages/frontend/app/controllers/myprofile.js
similarity index 100%
rename from app/controllers/myprofile.js
rename to packages/frontend/app/controllers/myprofile.js
diff --git a/app/controllers/pending-user-updates.js b/packages/frontend/app/controllers/pending-user-updates.js
similarity index 100%
rename from app/controllers/pending-user-updates.js
rename to packages/frontend/app/controllers/pending-user-updates.js
diff --git a/app/controllers/program-year/index.js b/packages/frontend/app/controllers/program-year/index.js
similarity index 100%
rename from app/controllers/program-year/index.js
rename to packages/frontend/app/controllers/program-year/index.js
diff --git a/app/controllers/program.js b/packages/frontend/app/controllers/program.js
similarity index 100%
rename from app/controllers/program.js
rename to packages/frontend/app/controllers/program.js
diff --git a/app/controllers/reports.js b/packages/frontend/app/controllers/reports.js
similarity index 100%
rename from app/controllers/reports.js
rename to packages/frontend/app/controllers/reports.js
diff --git a/app/controllers/school.js b/packages/frontend/app/controllers/school.js
similarity index 100%
rename from app/controllers/school.js
rename to packages/frontend/app/controllers/school.js
diff --git a/app/controllers/search.js b/packages/frontend/app/controllers/search.js
similarity index 100%
rename from app/controllers/search.js
rename to packages/frontend/app/controllers/search.js
diff --git a/app/controllers/subject-report.js b/packages/frontend/app/controllers/subject-report.js
similarity index 100%
rename from app/controllers/subject-report.js
rename to packages/frontend/app/controllers/subject-report.js
diff --git a/app/controllers/user.js b/packages/frontend/app/controllers/user.js
similarity index 100%
rename from app/controllers/user.js
rename to packages/frontend/app/controllers/user.js
diff --git a/app/controllers/users.js b/packages/frontend/app/controllers/users.js
similarity index 100%
rename from app/controllers/users.js
rename to packages/frontend/app/controllers/users.js
diff --git a/app/helpers/.gitkeep b/packages/frontend/app/helpers/.gitkeep
similarity index 100%
rename from app/helpers/.gitkeep
rename to packages/frontend/app/helpers/.gitkeep
diff --git a/app/helpers/pcrs-uri-to-number.js b/packages/frontend/app/helpers/pcrs-uri-to-number.js
similarity index 100%
rename from app/helpers/pcrs-uri-to-number.js
rename to packages/frontend/app/helpers/pcrs-uri-to-number.js
diff --git a/app/index.html b/packages/frontend/app/index.html
similarity index 100%
rename from app/index.html
rename to packages/frontend/app/index.html
diff --git a/app/initializers/inflector.js b/packages/frontend/app/initializers/inflector.js
similarity index 100%
rename from app/initializers/inflector.js
rename to packages/frontend/app/initializers/inflector.js
diff --git a/app/initializers/metrics-imports.js b/packages/frontend/app/initializers/metrics-imports.js
similarity index 100%
rename from app/initializers/metrics-imports.js
rename to packages/frontend/app/initializers/metrics-imports.js
diff --git a/app/mixins/live-search-item.js b/packages/frontend/app/mixins/live-search-item.js
similarity index 100%
rename from app/mixins/live-search-item.js
rename to packages/frontend/app/mixins/live-search-item.js
diff --git a/app/models/.gitkeep b/packages/frontend/app/models/.gitkeep
similarity index 100%
rename from app/models/.gitkeep
rename to packages/frontend/app/models/.gitkeep
diff --git a/app/router.js b/packages/frontend/app/router.js
similarity index 100%
rename from app/router.js
rename to packages/frontend/app/router.js
diff --git a/app/routes/admin-dashboard.js b/packages/frontend/app/routes/admin-dashboard.js
similarity index 100%
rename from app/routes/admin-dashboard.js
rename to packages/frontend/app/routes/admin-dashboard.js
diff --git a/app/routes/application.js b/packages/frontend/app/routes/application.js
similarity index 100%
rename from app/routes/application.js
rename to packages/frontend/app/routes/application.js
diff --git a/app/routes/assign-students.js b/packages/frontend/app/routes/assign-students.js
similarity index 100%
rename from app/routes/assign-students.js
rename to packages/frontend/app/routes/assign-students.js
diff --git a/app/routes/courses.js b/packages/frontend/app/routes/courses.js
similarity index 100%
rename from app/routes/courses.js
rename to packages/frontend/app/routes/courses.js
diff --git a/app/routes/curriculum-inventory-report.js b/packages/frontend/app/routes/curriculum-inventory-report.js
similarity index 100%
rename from app/routes/curriculum-inventory-report.js
rename to packages/frontend/app/routes/curriculum-inventory-report.js
diff --git a/app/routes/curriculum-inventory-report/index.js b/packages/frontend/app/routes/curriculum-inventory-report/index.js
similarity index 100%
rename from app/routes/curriculum-inventory-report/index.js
rename to packages/frontend/app/routes/curriculum-inventory-report/index.js
diff --git a/app/routes/curriculum-inventory-report/rollover.js b/packages/frontend/app/routes/curriculum-inventory-report/rollover.js
similarity index 100%
rename from app/routes/curriculum-inventory-report/rollover.js
rename to packages/frontend/app/routes/curriculum-inventory-report/rollover.js
diff --git a/app/routes/curriculum-inventory-reports.js b/packages/frontend/app/routes/curriculum-inventory-reports.js
similarity index 100%
rename from app/routes/curriculum-inventory-reports.js
rename to packages/frontend/app/routes/curriculum-inventory-reports.js
diff --git a/app/routes/curriculum-inventory-sequence-block.js b/packages/frontend/app/routes/curriculum-inventory-sequence-block.js
similarity index 100%
rename from app/routes/curriculum-inventory-sequence-block.js
rename to packages/frontend/app/routes/curriculum-inventory-sequence-block.js
diff --git a/app/routes/dashboard.js b/packages/frontend/app/routes/dashboard.js
similarity index 100%
rename from app/routes/dashboard.js
rename to packages/frontend/app/routes/dashboard.js
diff --git a/app/routes/dashboard/activities.js b/packages/frontend/app/routes/dashboard/activities.js
similarity index 100%
rename from app/routes/dashboard/activities.js
rename to packages/frontend/app/routes/dashboard/activities.js
diff --git a/app/routes/dashboard/calendar.js b/packages/frontend/app/routes/dashboard/calendar.js
similarity index 100%
rename from app/routes/dashboard/calendar.js
rename to packages/frontend/app/routes/dashboard/calendar.js
diff --git a/app/routes/dashboard/index.js b/packages/frontend/app/routes/dashboard/index.js
similarity index 100%
rename from app/routes/dashboard/index.js
rename to packages/frontend/app/routes/dashboard/index.js
diff --git a/app/routes/dashboard/materials.js b/packages/frontend/app/routes/dashboard/materials.js
similarity index 100%
rename from app/routes/dashboard/materials.js
rename to packages/frontend/app/routes/dashboard/materials.js
diff --git a/app/routes/dashboard/week.js b/packages/frontend/app/routes/dashboard/week.js
similarity index 100%
rename from app/routes/dashboard/week.js
rename to packages/frontend/app/routes/dashboard/week.js
diff --git a/app/routes/index.js b/packages/frontend/app/routes/index.js
similarity index 100%
rename from app/routes/index.js
rename to packages/frontend/app/routes/index.js
diff --git a/app/routes/instructor-group.js b/packages/frontend/app/routes/instructor-group.js
similarity index 100%
rename from app/routes/instructor-group.js
rename to packages/frontend/app/routes/instructor-group.js
diff --git a/app/routes/instructor-groups.js b/packages/frontend/app/routes/instructor-groups.js
similarity index 100%
rename from app/routes/instructor-groups.js
rename to packages/frontend/app/routes/instructor-groups.js
diff --git a/app/routes/learner-group.js b/packages/frontend/app/routes/learner-group.js
similarity index 100%
rename from app/routes/learner-group.js
rename to packages/frontend/app/routes/learner-group.js
diff --git a/app/routes/learner-groups.js b/packages/frontend/app/routes/learner-groups.js
similarity index 100%
rename from app/routes/learner-groups.js
rename to packages/frontend/app/routes/learner-groups.js
diff --git a/app/routes/login.js b/packages/frontend/app/routes/login.js
similarity index 100%
rename from app/routes/login.js
rename to packages/frontend/app/routes/login.js
diff --git a/app/routes/logout.js b/packages/frontend/app/routes/logout.js
similarity index 100%
rename from app/routes/logout.js
rename to packages/frontend/app/routes/logout.js
diff --git a/app/routes/myprofile.js b/packages/frontend/app/routes/myprofile.js
similarity index 100%
rename from app/routes/myprofile.js
rename to packages/frontend/app/routes/myprofile.js
diff --git a/app/routes/pending-user-updates.js b/packages/frontend/app/routes/pending-user-updates.js
similarity index 100%
rename from app/routes/pending-user-updates.js
rename to packages/frontend/app/routes/pending-user-updates.js
diff --git a/app/routes/program-year-visualize-objectives.js b/packages/frontend/app/routes/program-year-visualize-objectives.js
similarity index 100%
rename from app/routes/program-year-visualize-objectives.js
rename to packages/frontend/app/routes/program-year-visualize-objectives.js
diff --git a/app/routes/program-year.js b/packages/frontend/app/routes/program-year.js
similarity index 100%
rename from app/routes/program-year.js
rename to packages/frontend/app/routes/program-year.js
diff --git a/app/routes/program-year/index.js b/packages/frontend/app/routes/program-year/index.js
similarity index 100%
rename from app/routes/program-year/index.js
rename to packages/frontend/app/routes/program-year/index.js
diff --git a/app/routes/program.js b/packages/frontend/app/routes/program.js
similarity index 100%
rename from app/routes/program.js
rename to packages/frontend/app/routes/program.js
diff --git a/app/routes/program/index.js b/packages/frontend/app/routes/program/index.js
similarity index 100%
rename from app/routes/program/index.js
rename to packages/frontend/app/routes/program/index.js
diff --git a/app/routes/program/publication-check.js b/packages/frontend/app/routes/program/publication-check.js
similarity index 100%
rename from app/routes/program/publication-check.js
rename to packages/frontend/app/routes/program/publication-check.js
diff --git a/app/routes/programs.js b/packages/frontend/app/routes/programs.js
similarity index 100%
rename from app/routes/programs.js
rename to packages/frontend/app/routes/programs.js
diff --git a/app/routes/reports.js b/packages/frontend/app/routes/reports.js
similarity index 100%
rename from app/routes/reports.js
rename to packages/frontend/app/routes/reports.js
diff --git a/app/routes/school.js b/packages/frontend/app/routes/school.js
similarity index 100%
rename from app/routes/school.js
rename to packages/frontend/app/routes/school.js
diff --git a/app/routes/schools.js b/packages/frontend/app/routes/schools.js
similarity index 100%
rename from app/routes/schools.js
rename to packages/frontend/app/routes/schools.js
diff --git a/app/routes/search.js b/packages/frontend/app/routes/search.js
similarity index 100%
rename from app/routes/search.js
rename to packages/frontend/app/routes/search.js
diff --git a/app/routes/session-type-visualize-vocabularies.js b/packages/frontend/app/routes/session-type-visualize-vocabularies.js
similarity index 100%
rename from app/routes/session-type-visualize-vocabularies.js
rename to packages/frontend/app/routes/session-type-visualize-vocabularies.js
diff --git a/app/routes/session-type-visualize-vocabulary.js b/packages/frontend/app/routes/session-type-visualize-vocabulary.js
similarity index 100%
rename from app/routes/session-type-visualize-vocabulary.js
rename to packages/frontend/app/routes/session-type-visualize-vocabulary.js
diff --git a/app/routes/subject-report.js b/packages/frontend/app/routes/subject-report.js
similarity index 100%
rename from app/routes/subject-report.js
rename to packages/frontend/app/routes/subject-report.js
diff --git a/app/routes/user.js b/packages/frontend/app/routes/user.js
similarity index 100%
rename from app/routes/user.js
rename to packages/frontend/app/routes/user.js
diff --git a/app/routes/users.js b/packages/frontend/app/routes/users.js
similarity index 100%
rename from app/routes/users.js
rename to packages/frontend/app/routes/users.js
diff --git a/app/routes/verification-preview.js b/packages/frontend/app/routes/verification-preview.js
similarity index 100%
rename from app/routes/verification-preview.js
rename to packages/frontend/app/routes/verification-preview.js
diff --git a/app/sentry.js b/packages/frontend/app/sentry.js
similarity index 100%
rename from app/sentry.js
rename to packages/frontend/app/sentry.js
diff --git a/app/services/data-loader.js b/packages/frontend/app/services/data-loader.js
similarity index 100%
rename from app/services/data-loader.js
rename to packages/frontend/app/services/data-loader.js
diff --git a/app/services/graphql.js b/packages/frontend/app/services/graphql.js
similarity index 100%
rename from app/services/graphql.js
rename to packages/frontend/app/services/graphql.js
diff --git a/app/services/ilios-metrics.js b/packages/frontend/app/services/ilios-metrics.js
similarity index 100%
rename from app/services/ilios-metrics.js
rename to packages/frontend/app/services/ilios-metrics.js
diff --git a/app/services/page-title.js b/packages/frontend/app/services/page-title.js
similarity index 100%
rename from app/services/page-title.js
rename to packages/frontend/app/services/page-title.js
diff --git a/app/services/reporting.js b/packages/frontend/app/services/reporting.js
similarity index 100%
rename from app/services/reporting.js
rename to packages/frontend/app/services/reporting.js
diff --git a/app/services/session.js b/packages/frontend/app/services/session.js
similarity index 100%
rename from app/services/session.js
rename to packages/frontend/app/services/session.js
diff --git a/app/session-stores/application.js b/packages/frontend/app/session-stores/application.js
similarity index 100%
rename from app/session-stores/application.js
rename to packages/frontend/app/session-stores/application.js
diff --git a/app/styles/app.scss b/packages/frontend/app/styles/app.scss
similarity index 100%
rename from app/styles/app.scss
rename to packages/frontend/app/styles/app.scss
diff --git a/app/styles/components.scss b/packages/frontend/app/styles/components.scss
similarity index 100%
rename from app/styles/components.scss
rename to packages/frontend/app/styles/components.scss
diff --git a/app/styles/components/admin-dashboard.scss b/packages/frontend/app/styles/components/admin-dashboard.scss
similarity index 100%
rename from app/styles/components/admin-dashboard.scss
rename to packages/frontend/app/styles/components/admin-dashboard.scss
diff --git a/app/styles/components/api-version-check.scss b/packages/frontend/app/styles/components/api-version-check.scss
similarity index 100%
rename from app/styles/components/api-version-check.scss
rename to packages/frontend/app/styles/components/api-version-check.scss
diff --git a/app/styles/components/assign-students.scss b/packages/frontend/app/styles/components/assign-students.scss
similarity index 100%
rename from app/styles/components/assign-students.scss
rename to packages/frontend/app/styles/components/assign-students.scss
diff --git a/app/styles/components/back-to-admin-dashboard.scss b/packages/frontend/app/styles/components/back-to-admin-dashboard.scss
similarity index 100%
rename from app/styles/components/back-to-admin-dashboard.scss
rename to packages/frontend/app/styles/components/back-to-admin-dashboard.scss
diff --git a/app/styles/components/bulk-new-users.scss b/packages/frontend/app/styles/components/bulk-new-users.scss
similarity index 100%
rename from app/styles/components/bulk-new-users.scss
rename to packages/frontend/app/styles/components/bulk-new-users.scss
diff --git a/app/styles/components/connection-status.scss b/packages/frontend/app/styles/components/connection-status.scss
similarity index 100%
rename from app/styles/components/connection-status.scss
rename to packages/frontend/app/styles/components/connection-status.scss
diff --git a/app/styles/components/course-director-manager.scss b/packages/frontend/app/styles/components/course-director-manager.scss
similarity index 100%
rename from app/styles/components/course-director-manager.scss
rename to packages/frontend/app/styles/components/course-director-manager.scss
diff --git a/app/styles/components/course-search-result.scss b/packages/frontend/app/styles/components/course-search-result.scss
similarity index 100%
rename from app/styles/components/course-search-result.scss
rename to packages/frontend/app/styles/components/course-search-result.scss
diff --git a/app/styles/components/courses/list-item.scss b/packages/frontend/app/styles/components/courses/list-item.scss
similarity index 100%
rename from app/styles/components/courses/list-item.scss
rename to packages/frontend/app/styles/components/courses/list-item.scss
diff --git a/app/styles/components/courses/list.scss b/packages/frontend/app/styles/components/courses/list.scss
similarity index 100%
rename from app/styles/components/courses/list.scss
rename to packages/frontend/app/styles/components/courses/list.scss
diff --git a/app/styles/components/courses/new.scss b/packages/frontend/app/styles/components/courses/new.scss
similarity index 100%
rename from app/styles/components/courses/new.scss
rename to packages/frontend/app/styles/components/courses/new.scss
diff --git a/app/styles/components/courses/root.scss b/packages/frontend/app/styles/components/courses/root.scss
similarity index 100%
rename from app/styles/components/courses/root.scss
rename to packages/frontend/app/styles/components/courses/root.scss
diff --git a/app/styles/components/curriculum-inventory/leadership-expanded.scss b/packages/frontend/app/styles/components/curriculum-inventory/leadership-expanded.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/leadership-expanded.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/leadership-expanded.scss
diff --git a/app/styles/components/curriculum-inventory/new-report.scss b/packages/frontend/app/styles/components/curriculum-inventory/new-report.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/new-report.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/new-report.scss
diff --git a/app/styles/components/curriculum-inventory/new-sequence-block.scss b/packages/frontend/app/styles/components/curriculum-inventory/new-sequence-block.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/new-sequence-block.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/new-sequence-block.scss
diff --git a/app/styles/components/curriculum-inventory/report-details.scss b/packages/frontend/app/styles/components/curriculum-inventory/report-details.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/report-details.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/report-details.scss
diff --git a/app/styles/components/curriculum-inventory/report-header.scss b/packages/frontend/app/styles/components/curriculum-inventory/report-header.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/report-header.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/report-header.scss
diff --git a/app/styles/components/curriculum-inventory/report-overview.scss b/packages/frontend/app/styles/components/curriculum-inventory/report-overview.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/report-overview.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/report-overview.scss
diff --git a/app/styles/components/curriculum-inventory/report-rollover.scss b/packages/frontend/app/styles/components/curriculum-inventory/report-rollover.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/report-rollover.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/report-rollover.scss
diff --git a/app/styles/components/curriculum-inventory/reports-list.scss b/packages/frontend/app/styles/components/curriculum-inventory/reports-list.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/reports-list.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/reports-list.scss
diff --git a/app/styles/components/curriculum-inventory/sequence-block-header.scss b/packages/frontend/app/styles/components/curriculum-inventory/sequence-block-header.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/sequence-block-header.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/sequence-block-header.scss
diff --git a/app/styles/components/curriculum-inventory/sequence-block-list.scss b/packages/frontend/app/styles/components/curriculum-inventory/sequence-block-list.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/sequence-block-list.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/sequence-block-list.scss
diff --git a/app/styles/components/curriculum-inventory/sequence-block-overview.scss b/packages/frontend/app/styles/components/curriculum-inventory/sequence-block-overview.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/sequence-block-overview.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/sequence-block-overview.scss
diff --git a/app/styles/components/curriculum-inventory/sequence-block-session-manager.scss b/packages/frontend/app/styles/components/curriculum-inventory/sequence-block-session-manager.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/sequence-block-session-manager.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/sequence-block-session-manager.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-header.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-header.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-header.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-header.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table1.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table1.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table1.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table1.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table2.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table2.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table2.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table2.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table3a.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table3a.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table3a.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table3a.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table3b.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table3b.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table3b.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table3b.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table4.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table4.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table4.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table4.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table5.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table5.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table5.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table5.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table6.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table6.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table6.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table6.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table7.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table7.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table7.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table7.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview-table8.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table8.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview-table8.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview-table8.scss
diff --git a/app/styles/components/curriculum-inventory/verification-preview.scss b/packages/frontend/app/styles/components/curriculum-inventory/verification-preview.scss
similarity index 100%
rename from app/styles/components/curriculum-inventory/verification-preview.scss
rename to packages/frontend/app/styles/components/curriculum-inventory/verification-preview.scss
diff --git a/app/styles/components/dashboard-loading.scss b/packages/frontend/app/styles/components/dashboard-loading.scss
similarity index 100%
rename from app/styles/components/dashboard-loading.scss
rename to packages/frontend/app/styles/components/dashboard-loading.scss
diff --git a/app/styles/components/error.scss b/packages/frontend/app/styles/components/error.scss
similarity index 100%
rename from app/styles/components/error.scss
rename to packages/frontend/app/styles/components/error.scss
diff --git a/app/styles/components/filter-tools.scss b/packages/frontend/app/styles/components/filter-tools.scss
similarity index 100%
rename from app/styles/components/filter-tools.scss
rename to packages/frontend/app/styles/components/filter-tools.scss
diff --git a/app/styles/components/flash-messages.scss b/packages/frontend/app/styles/components/flash-messages.scss
similarity index 100%
rename from app/styles/components/flash-messages.scss
rename to packages/frontend/app/styles/components/flash-messages.scss
diff --git a/app/styles/components/global-search-box.scss b/packages/frontend/app/styles/components/global-search-box.scss
similarity index 100%
rename from app/styles/components/global-search-box.scss
rename to packages/frontend/app/styles/components/global-search-box.scss
diff --git a/app/styles/components/global-search.scss b/packages/frontend/app/styles/components/global-search.scss
similarity index 100%
rename from app/styles/components/global-search.scss
rename to packages/frontend/app/styles/components/global-search.scss
diff --git a/app/styles/components/ilios-footer.scss b/packages/frontend/app/styles/components/ilios-footer.scss
similarity index 100%
rename from app/styles/components/ilios-footer.scss
rename to packages/frontend/app/styles/components/ilios-footer.scss
diff --git a/app/styles/components/ilios-header.scss b/packages/frontend/app/styles/components/ilios-header.scss
similarity index 100%
rename from app/styles/components/ilios-header.scss
rename to packages/frontend/app/styles/components/ilios-header.scss
diff --git a/app/styles/components/ilios-logo.scss b/packages/frontend/app/styles/components/ilios-logo.scss
similarity index 100%
rename from app/styles/components/ilios-logo.scss
rename to packages/frontend/app/styles/components/ilios-logo.scss
diff --git a/app/styles/components/ilios-navigation.scss b/packages/frontend/app/styles/components/ilios-navigation.scss
similarity index 100%
rename from app/styles/components/ilios-navigation.scss
rename to packages/frontend/app/styles/components/ilios-navigation.scss
diff --git a/app/styles/components/ilios-users.scss b/packages/frontend/app/styles/components/ilios-users.scss
similarity index 100%
rename from app/styles/components/ilios-users.scss
rename to packages/frontend/app/styles/components/ilios-users.scss
diff --git a/app/styles/components/instructor-group/courses.scss b/packages/frontend/app/styles/components/instructor-group/courses.scss
similarity index 100%
rename from app/styles/components/instructor-group/courses.scss
rename to packages/frontend/app/styles/components/instructor-group/courses.scss
diff --git a/app/styles/components/instructor-group/header.scss b/packages/frontend/app/styles/components/instructor-group/header.scss
similarity index 100%
rename from app/styles/components/instructor-group/header.scss
rename to packages/frontend/app/styles/components/instructor-group/header.scss
diff --git a/app/styles/components/instructor-group/instructor-manager.scss b/packages/frontend/app/styles/components/instructor-group/instructor-manager.scss
similarity index 100%
rename from app/styles/components/instructor-group/instructor-manager.scss
rename to packages/frontend/app/styles/components/instructor-group/instructor-manager.scss
diff --git a/app/styles/components/instructor-group/root.scss b/packages/frontend/app/styles/components/instructor-group/root.scss
similarity index 100%
rename from app/styles/components/instructor-group/root.scss
rename to packages/frontend/app/styles/components/instructor-group/root.scss
diff --git a/app/styles/components/instructor-group/users.scss b/packages/frontend/app/styles/components/instructor-group/users.scss
similarity index 100%
rename from app/styles/components/instructor-group/users.scss
rename to packages/frontend/app/styles/components/instructor-group/users.scss
diff --git a/app/styles/components/instructor-groups/loading.scss b/packages/frontend/app/styles/components/instructor-groups/loading.scss
similarity index 100%
rename from app/styles/components/instructor-groups/loading.scss
rename to packages/frontend/app/styles/components/instructor-groups/loading.scss
diff --git a/app/styles/components/instructor-groups/new.scss b/packages/frontend/app/styles/components/instructor-groups/new.scss
similarity index 100%
rename from app/styles/components/instructor-groups/new.scss
rename to packages/frontend/app/styles/components/instructor-groups/new.scss
diff --git a/app/styles/components/instructor-groups/root.scss b/packages/frontend/app/styles/components/instructor-groups/root.scss
similarity index 100%
rename from app/styles/components/instructor-groups/root.scss
rename to packages/frontend/app/styles/components/instructor-groups/root.scss
diff --git a/app/styles/components/learner-group/bulk-assignment.scss b/packages/frontend/app/styles/components/learner-group/bulk-assignment.scss
similarity index 100%
rename from app/styles/components/learner-group/bulk-assignment.scss
rename to packages/frontend/app/styles/components/learner-group/bulk-assignment.scss
diff --git a/app/styles/components/learner-group/calendar.scss b/packages/frontend/app/styles/components/learner-group/calendar.scss
similarity index 100%
rename from app/styles/components/learner-group/calendar.scss
rename to packages/frontend/app/styles/components/learner-group/calendar.scss
diff --git a/app/styles/components/learner-group/cohort-user-manager.scss b/packages/frontend/app/styles/components/learner-group/cohort-user-manager.scss
similarity index 100%
rename from app/styles/components/learner-group/cohort-user-manager.scss
rename to packages/frontend/app/styles/components/learner-group/cohort-user-manager.scss
diff --git a/app/styles/components/learner-group/header.scss b/packages/frontend/app/styles/components/learner-group/header.scss
similarity index 100%
rename from app/styles/components/learner-group/header.scss
rename to packages/frontend/app/styles/components/learner-group/header.scss
diff --git a/app/styles/components/learner-group/instructor-group-members-list.scss b/packages/frontend/app/styles/components/learner-group/instructor-group-members-list.scss
similarity index 100%
rename from app/styles/components/learner-group/instructor-group-members-list.scss
rename to packages/frontend/app/styles/components/learner-group/instructor-group-members-list.scss
diff --git a/app/styles/components/learner-group/instructor-manager.scss b/packages/frontend/app/styles/components/learner-group/instructor-manager.scss
similarity index 100%
rename from app/styles/components/learner-group/instructor-manager.scss
rename to packages/frontend/app/styles/components/learner-group/instructor-manager.scss
diff --git a/app/styles/components/learner-group/members.scss b/packages/frontend/app/styles/components/learner-group/members.scss
similarity index 100%
rename from app/styles/components/learner-group/members.scss
rename to packages/frontend/app/styles/components/learner-group/members.scss
diff --git a/app/styles/components/learner-group/new.scss b/packages/frontend/app/styles/components/learner-group/new.scss
similarity index 100%
rename from app/styles/components/learner-group/new.scss
rename to packages/frontend/app/styles/components/learner-group/new.scss
diff --git a/app/styles/components/learner-group/root.scss b/packages/frontend/app/styles/components/learner-group/root.scss
similarity index 100%
rename from app/styles/components/learner-group/root.scss
rename to packages/frontend/app/styles/components/learner-group/root.scss
diff --git a/app/styles/components/learner-group/user-manager.scss b/packages/frontend/app/styles/components/learner-group/user-manager.scss
similarity index 100%
rename from app/styles/components/learner-group/user-manager.scss
rename to packages/frontend/app/styles/components/learner-group/user-manager.scss
diff --git a/app/styles/components/learner-groups/root.scss b/packages/frontend/app/styles/components/learner-groups/root.scss
similarity index 100%
rename from app/styles/components/learner-groups/root.scss
rename to packages/frontend/app/styles/components/learner-groups/root.scss
diff --git a/app/styles/components/locale-chooser.scss b/packages/frontend/app/styles/components/locale-chooser.scss
similarity index 100%
rename from app/styles/components/locale-chooser.scss
rename to packages/frontend/app/styles/components/locale-chooser.scss
diff --git a/app/styles/components/login-form.scss b/packages/frontend/app/styles/components/login-form.scss
similarity index 100%
rename from app/styles/components/login-form.scss
rename to packages/frontend/app/styles/components/login-form.scss
diff --git a/app/styles/components/manage-users-summary.scss b/packages/frontend/app/styles/components/manage-users-summary.scss
similarity index 100%
rename from app/styles/components/manage-users-summary.scss
rename to packages/frontend/app/styles/components/manage-users-summary.scss
diff --git a/app/styles/components/my-profile.scss b/packages/frontend/app/styles/components/my-profile.scss
similarity index 100%
rename from app/styles/components/my-profile.scss
rename to packages/frontend/app/styles/components/my-profile.scss
diff --git a/app/styles/components/new-directory-user.scss b/packages/frontend/app/styles/components/new-directory-user.scss
similarity index 100%
rename from app/styles/components/new-directory-user.scss
rename to packages/frontend/app/styles/components/new-directory-user.scss
diff --git a/app/styles/components/new-user.scss b/packages/frontend/app/styles/components/new-user.scss
similarity index 100%
rename from app/styles/components/new-user.scss
rename to packages/frontend/app/styles/components/new-user.scss
diff --git a/app/styles/components/pagination-links.scss b/packages/frontend/app/styles/components/pagination-links.scss
similarity index 100%
rename from app/styles/components/pagination-links.scss
rename to packages/frontend/app/styles/components/pagination-links.scss
diff --git a/app/styles/components/pending-single-user-updates.scss b/packages/frontend/app/styles/components/pending-single-user-updates.scss
similarity index 100%
rename from app/styles/components/pending-single-user-updates.scss
rename to packages/frontend/app/styles/components/pending-single-user-updates.scss
diff --git a/app/styles/components/pending-user-updates.scss b/packages/frontend/app/styles/components/pending-user-updates.scss
similarity index 100%
rename from app/styles/components/pending-user-updates.scss
rename to packages/frontend/app/styles/components/pending-user-updates.scss
diff --git a/app/styles/components/program-leadership-expanded.scss b/packages/frontend/app/styles/components/program-leadership-expanded.scss
similarity index 100%
rename from app/styles/components/program-leadership-expanded.scss
rename to packages/frontend/app/styles/components/program-leadership-expanded.scss
diff --git a/app/styles/components/program-overview.scss b/packages/frontend/app/styles/components/program-overview.scss
similarity index 100%
rename from app/styles/components/program-overview.scss
rename to packages/frontend/app/styles/components/program-overview.scss
diff --git a/app/styles/components/program-publication-check.scss b/packages/frontend/app/styles/components/program-publication-check.scss
similarity index 100%
rename from app/styles/components/program-publication-check.scss
rename to packages/frontend/app/styles/components/program-publication-check.scss
diff --git a/app/styles/components/program-year/collapsed-objectives.scss b/packages/frontend/app/styles/components/program-year/collapsed-objectives.scss
similarity index 100%
rename from app/styles/components/program-year/collapsed-objectives.scss
rename to packages/frontend/app/styles/components/program-year/collapsed-objectives.scss
diff --git a/app/styles/components/program-year/competencies.scss b/packages/frontend/app/styles/components/program-year/competencies.scss
similarity index 100%
rename from app/styles/components/program-year/competencies.scss
rename to packages/frontend/app/styles/components/program-year/competencies.scss
diff --git a/app/styles/components/program-year/courses.scss b/packages/frontend/app/styles/components/program-year/courses.scss
similarity index 100%
rename from app/styles/components/program-year/courses.scss
rename to packages/frontend/app/styles/components/program-year/courses.scss
diff --git a/app/styles/components/program-year/leadership-expanded.scss b/packages/frontend/app/styles/components/program-year/leadership-expanded.scss
similarity index 100%
rename from app/styles/components/program-year/leadership-expanded.scss
rename to packages/frontend/app/styles/components/program-year/leadership-expanded.scss
diff --git a/app/styles/components/program-year/list.scss b/packages/frontend/app/styles/components/program-year/list.scss
similarity index 100%
rename from app/styles/components/program-year/list.scss
rename to packages/frontend/app/styles/components/program-year/list.scss
diff --git a/app/styles/components/program-year/manage-objective-competency.scss b/packages/frontend/app/styles/components/program-year/manage-objective-competency.scss
similarity index 100%
rename from app/styles/components/program-year/manage-objective-competency.scss
rename to packages/frontend/app/styles/components/program-year/manage-objective-competency.scss
diff --git a/app/styles/components/program-year/manage-objective-descriptors.scss b/packages/frontend/app/styles/components/program-year/manage-objective-descriptors.scss
similarity index 100%
rename from app/styles/components/program-year/manage-objective-descriptors.scss
rename to packages/frontend/app/styles/components/program-year/manage-objective-descriptors.scss
diff --git a/app/styles/components/program-year/new.scss b/packages/frontend/app/styles/components/program-year/new.scss
similarity index 100%
rename from app/styles/components/program-year/new.scss
rename to packages/frontend/app/styles/components/program-year/new.scss
diff --git a/app/styles/components/program-year/objective-list-item-competency.scss b/packages/frontend/app/styles/components/program-year/objective-list-item-competency.scss
similarity index 100%
rename from app/styles/components/program-year/objective-list-item-competency.scss
rename to packages/frontend/app/styles/components/program-year/objective-list-item-competency.scss
diff --git a/app/styles/components/program-year/objective-list-item-descriptors.scss b/packages/frontend/app/styles/components/program-year/objective-list-item-descriptors.scss
similarity index 100%
rename from app/styles/components/program-year/objective-list-item-descriptors.scss
rename to packages/frontend/app/styles/components/program-year/objective-list-item-descriptors.scss
diff --git a/app/styles/components/program-year/objective-list-item-expanded.scss b/packages/frontend/app/styles/components/program-year/objective-list-item-expanded.scss
similarity index 100%
rename from app/styles/components/program-year/objective-list-item-expanded.scss
rename to packages/frontend/app/styles/components/program-year/objective-list-item-expanded.scss
diff --git a/app/styles/components/program-year/objective-list.scss b/packages/frontend/app/styles/components/program-year/objective-list.scss
similarity index 100%
rename from app/styles/components/program-year/objective-list.scss
rename to packages/frontend/app/styles/components/program-year/objective-list.scss
diff --git a/app/styles/components/program-year/objectives.scss b/packages/frontend/app/styles/components/program-year/objectives.scss
similarity index 100%
rename from app/styles/components/program-year/objectives.scss
rename to packages/frontend/app/styles/components/program-year/objectives.scss
diff --git a/app/styles/components/program-year/visualize-objectives.scss b/packages/frontend/app/styles/components/program-year/visualize-objectives.scss
similarity index 100%
rename from app/styles/components/program-year/visualize-objectives.scss
rename to packages/frontend/app/styles/components/program-year/visualize-objectives.scss
diff --git a/app/styles/components/program/header.scss b/packages/frontend/app/styles/components/program/header.scss
similarity index 100%
rename from app/styles/components/program/header.scss
rename to packages/frontend/app/styles/components/program/header.scss
diff --git a/app/styles/components/program/new.scss b/packages/frontend/app/styles/components/program/new.scss
similarity index 100%
rename from app/styles/components/program/new.scss
rename to packages/frontend/app/styles/components/program/new.scss
diff --git a/app/styles/components/program/root.scss b/packages/frontend/app/styles/components/program/root.scss
similarity index 100%
rename from app/styles/components/program/root.scss
rename to packages/frontend/app/styles/components/program/root.scss
diff --git a/app/styles/components/programs/list-item.scss b/packages/frontend/app/styles/components/programs/list-item.scss
similarity index 100%
rename from app/styles/components/programs/list-item.scss
rename to packages/frontend/app/styles/components/programs/list-item.scss
diff --git a/app/styles/components/programs/list.scss b/packages/frontend/app/styles/components/programs/list.scss
similarity index 100%
rename from app/styles/components/programs/list.scss
rename to packages/frontend/app/styles/components/programs/list.scss
diff --git a/app/styles/components/programs/root.scss b/packages/frontend/app/styles/components/programs/root.scss
similarity index 100%
rename from app/styles/components/programs/root.scss
rename to packages/frontend/app/styles/components/programs/root.scss
diff --git a/app/styles/components/programyear-details.scss b/packages/frontend/app/styles/components/programyear-details.scss
similarity index 100%
rename from app/styles/components/programyear-details.scss
rename to packages/frontend/app/styles/components/programyear-details.scss
diff --git a/app/styles/components/programyear-header.scss b/packages/frontend/app/styles/components/programyear-header.scss
similarity index 100%
rename from app/styles/components/programyear-header.scss
rename to packages/frontend/app/styles/components/programyear-header.scss
diff --git a/app/styles/components/programyear-overview.scss b/packages/frontend/app/styles/components/programyear-overview.scss
similarity index 100%
rename from app/styles/components/programyear-overview.scss
rename to packages/frontend/app/styles/components/programyear-overview.scss
diff --git a/app/styles/components/reports/list-loading.scss b/packages/frontend/app/styles/components/reports/list-loading.scss
similarity index 100%
rename from app/styles/components/reports/list-loading.scss
rename to packages/frontend/app/styles/components/reports/list-loading.scss
diff --git a/app/styles/components/reports/new-subject.scss b/packages/frontend/app/styles/components/reports/new-subject.scss
similarity index 100%
rename from app/styles/components/reports/new-subject.scss
rename to packages/frontend/app/styles/components/reports/new-subject.scss
diff --git a/app/styles/components/reports/root.scss b/packages/frontend/app/styles/components/reports/root.scss
similarity index 100%
rename from app/styles/components/reports/root.scss
rename to packages/frontend/app/styles/components/reports/root.scss
diff --git a/app/styles/components/reports/subject.scss b/packages/frontend/app/styles/components/reports/subject.scss
similarity index 100%
rename from app/styles/components/reports/subject.scss
rename to packages/frontend/app/styles/components/reports/subject.scss
diff --git a/app/styles/components/reports/subjects.scss b/packages/frontend/app/styles/components/reports/subjects.scss
similarity index 100%
rename from app/styles/components/reports/subjects.scss
rename to packages/frontend/app/styles/components/reports/subjects.scss
diff --git a/app/styles/components/school-competencies-collapsed.scss b/packages/frontend/app/styles/components/school-competencies-collapsed.scss
similarity index 100%
rename from app/styles/components/school-competencies-collapsed.scss
rename to packages/frontend/app/styles/components/school-competencies-collapsed.scss
diff --git a/app/styles/components/school-competencies-expanded.scss b/packages/frontend/app/styles/components/school-competencies-expanded.scss
similarity index 100%
rename from app/styles/components/school-competencies-expanded.scss
rename to packages/frontend/app/styles/components/school-competencies-expanded.scss
diff --git a/app/styles/components/school-competencies-list.scss b/packages/frontend/app/styles/components/school-competencies-list.scss
similarity index 100%
rename from app/styles/components/school-competencies-list.scss
rename to packages/frontend/app/styles/components/school-competencies-list.scss
diff --git a/app/styles/components/school-competencies-manager.scss b/packages/frontend/app/styles/components/school-competencies-manager.scss
similarity index 100%
rename from app/styles/components/school-competencies-manager.scss
rename to packages/frontend/app/styles/components/school-competencies-manager.scss
diff --git a/app/styles/components/school-competencies-pcrs-mapper.scss b/packages/frontend/app/styles/components/school-competencies-pcrs-mapper.scss
similarity index 100%
rename from app/styles/components/school-competencies-pcrs-mapper.scss
rename to packages/frontend/app/styles/components/school-competencies-pcrs-mapper.scss
diff --git a/app/styles/components/school-curriculum-inventory-institution-details.scss b/packages/frontend/app/styles/components/school-curriculum-inventory-institution-details.scss
similarity index 100%
rename from app/styles/components/school-curriculum-inventory-institution-details.scss
rename to packages/frontend/app/styles/components/school-curriculum-inventory-institution-details.scss
diff --git a/app/styles/components/school-curriculum-inventory-institution-manager.scss b/packages/frontend/app/styles/components/school-curriculum-inventory-institution-manager.scss
similarity index 100%
rename from app/styles/components/school-curriculum-inventory-institution-manager.scss
rename to packages/frontend/app/styles/components/school-curriculum-inventory-institution-manager.scss
diff --git a/app/styles/components/school-leadership-expanded.scss b/packages/frontend/app/styles/components/school-leadership-expanded.scss
similarity index 100%
rename from app/styles/components/school-leadership-expanded.scss
rename to packages/frontend/app/styles/components/school-leadership-expanded.scss
diff --git a/app/styles/components/school-list.scss b/packages/frontend/app/styles/components/school-list.scss
similarity index 100%
rename from app/styles/components/school-list.scss
rename to packages/frontend/app/styles/components/school-list.scss
diff --git a/app/styles/components/school-manager.scss b/packages/frontend/app/styles/components/school-manager.scss
similarity index 100%
rename from app/styles/components/school-manager.scss
rename to packages/frontend/app/styles/components/school-manager.scss
diff --git a/app/styles/components/school-new-vocabulary-form.scss b/packages/frontend/app/styles/components/school-new-vocabulary-form.scss
similarity index 100%
rename from app/styles/components/school-new-vocabulary-form.scss
rename to packages/frontend/app/styles/components/school-new-vocabulary-form.scss
diff --git a/app/styles/components/school-session-attributes-collapsed.scss b/packages/frontend/app/styles/components/school-session-attributes-collapsed.scss
similarity index 100%
rename from app/styles/components/school-session-attributes-collapsed.scss
rename to packages/frontend/app/styles/components/school-session-attributes-collapsed.scss
diff --git a/app/styles/components/school-session-attributes-expanded.scss b/packages/frontend/app/styles/components/school-session-attributes-expanded.scss
similarity index 100%
rename from app/styles/components/school-session-attributes-expanded.scss
rename to packages/frontend/app/styles/components/school-session-attributes-expanded.scss
diff --git a/app/styles/components/school-session-type-form.scss b/packages/frontend/app/styles/components/school-session-type-form.scss
similarity index 100%
rename from app/styles/components/school-session-type-form.scss
rename to packages/frontend/app/styles/components/school-session-type-form.scss
diff --git a/app/styles/components/school-session-type-manager.scss b/packages/frontend/app/styles/components/school-session-type-manager.scss
similarity index 100%
rename from app/styles/components/school-session-type-manager.scss
rename to packages/frontend/app/styles/components/school-session-type-manager.scss
diff --git a/app/styles/components/school-session-types-collapsed.scss b/packages/frontend/app/styles/components/school-session-types-collapsed.scss
similarity index 100%
rename from app/styles/components/school-session-types-collapsed.scss
rename to packages/frontend/app/styles/components/school-session-types-collapsed.scss
diff --git a/app/styles/components/school-session-types-expanded.scss b/packages/frontend/app/styles/components/school-session-types-expanded.scss
similarity index 100%
rename from app/styles/components/school-session-types-expanded.scss
rename to packages/frontend/app/styles/components/school-session-types-expanded.scss
diff --git a/app/styles/components/school-session-types-list-item.scss b/packages/frontend/app/styles/components/school-session-types-list-item.scss
similarity index 100%
rename from app/styles/components/school-session-types-list-item.scss
rename to packages/frontend/app/styles/components/school-session-types-list-item.scss
diff --git a/app/styles/components/school-session-types-list.scss b/packages/frontend/app/styles/components/school-session-types-list.scss
similarity index 100%
rename from app/styles/components/school-session-types-list.scss
rename to packages/frontend/app/styles/components/school-session-types-list.scss
diff --git a/app/styles/components/school-vocabularies-collapsed.scss b/packages/frontend/app/styles/components/school-vocabularies-collapsed.scss
similarity index 100%
rename from app/styles/components/school-vocabularies-collapsed.scss
rename to packages/frontend/app/styles/components/school-vocabularies-collapsed.scss
diff --git a/app/styles/components/school-vocabularies-expanded.scss b/packages/frontend/app/styles/components/school-vocabularies-expanded.scss
similarity index 100%
rename from app/styles/components/school-vocabularies-expanded.scss
rename to packages/frontend/app/styles/components/school-vocabularies-expanded.scss
diff --git a/app/styles/components/school-vocabularies-list.scss b/packages/frontend/app/styles/components/school-vocabularies-list.scss
similarity index 100%
rename from app/styles/components/school-vocabularies-list.scss
rename to packages/frontend/app/styles/components/school-vocabularies-list.scss
diff --git a/app/styles/components/school-vocabulary-manager.scss b/packages/frontend/app/styles/components/school-vocabulary-manager.scss
similarity index 100%
rename from app/styles/components/school-vocabulary-manager.scss
rename to packages/frontend/app/styles/components/school-vocabulary-manager.scss
diff --git a/app/styles/components/school-vocabulary-new-term.scss b/packages/frontend/app/styles/components/school-vocabulary-new-term.scss
similarity index 100%
rename from app/styles/components/school-vocabulary-new-term.scss
rename to packages/frontend/app/styles/components/school-vocabulary-new-term.scss
diff --git a/app/styles/components/school-vocabulary-term-manager.scss b/packages/frontend/app/styles/components/school-vocabulary-term-manager.scss
similarity index 100%
rename from app/styles/components/school-vocabulary-term-manager.scss
rename to packages/frontend/app/styles/components/school-vocabulary-term-manager.scss
diff --git a/app/styles/components/school/session-type-visualize-vocabularies.scss b/packages/frontend/app/styles/components/school/session-type-visualize-vocabularies.scss
similarity index 100%
rename from app/styles/components/school/session-type-visualize-vocabularies.scss
rename to packages/frontend/app/styles/components/school/session-type-visualize-vocabularies.scss
diff --git a/app/styles/components/school/session-type-visualize-vocabulary.scss b/packages/frontend/app/styles/components/school/session-type-visualize-vocabulary.scss
similarity index 100%
rename from app/styles/components/school/session-type-visualize-vocabulary.scss
rename to packages/frontend/app/styles/components/school/session-type-visualize-vocabulary.scss
diff --git a/app/styles/components/school/visualizer-session-type-vocabularies.scss b/packages/frontend/app/styles/components/school/visualizer-session-type-vocabularies.scss
similarity index 100%
rename from app/styles/components/school/visualizer-session-type-vocabularies.scss
rename to packages/frontend/app/styles/components/school/visualizer-session-type-vocabularies.scss
diff --git a/app/styles/components/school/visualizer-session-type-vocabulary.scss b/packages/frontend/app/styles/components/school/visualizer-session-type-vocabulary.scss
similarity index 100%
rename from app/styles/components/school/visualizer-session-type-vocabulary.scss
rename to packages/frontend/app/styles/components/school/visualizer-session-type-vocabulary.scss
diff --git a/app/styles/components/simple-chart-tooltip.scss b/packages/frontend/app/styles/components/simple-chart-tooltip.scss
similarity index 100%
rename from app/styles/components/simple-chart-tooltip.scss
rename to packages/frontend/app/styles/components/simple-chart-tooltip.scss
diff --git a/app/styles/components/unassigned-students-summary.scss b/packages/frontend/app/styles/components/unassigned-students-summary.scss
similarity index 100%
rename from app/styles/components/unassigned-students-summary.scss
rename to packages/frontend/app/styles/components/unassigned-students-summary.scss
diff --git a/app/styles/components/update-notification.scss b/packages/frontend/app/styles/components/update-notification.scss
similarity index 100%
rename from app/styles/components/update-notification.scss
rename to packages/frontend/app/styles/components/update-notification.scss
diff --git a/app/styles/components/user-menu.scss b/packages/frontend/app/styles/components/user-menu.scss
similarity index 100%
rename from app/styles/components/user-menu.scss
rename to packages/frontend/app/styles/components/user-menu.scss
diff --git a/app/styles/components/user-profile-bio.scss b/packages/frontend/app/styles/components/user-profile-bio.scss
similarity index 100%
rename from app/styles/components/user-profile-bio.scss
rename to packages/frontend/app/styles/components/user-profile-bio.scss
diff --git a/app/styles/components/user-profile-calendar.scss b/packages/frontend/app/styles/components/user-profile-calendar.scss
similarity index 100%
rename from app/styles/components/user-profile-calendar.scss
rename to packages/frontend/app/styles/components/user-profile-calendar.scss
diff --git a/app/styles/components/user-profile-cohorts.scss b/packages/frontend/app/styles/components/user-profile-cohorts.scss
similarity index 100%
rename from app/styles/components/user-profile-cohorts.scss
rename to packages/frontend/app/styles/components/user-profile-cohorts.scss
diff --git a/app/styles/components/user-profile-loading.scss b/packages/frontend/app/styles/components/user-profile-loading.scss
similarity index 100%
rename from app/styles/components/user-profile-loading.scss
rename to packages/frontend/app/styles/components/user-profile-loading.scss
diff --git a/app/styles/components/user-profile-permissions.scss b/packages/frontend/app/styles/components/user-profile-permissions.scss
similarity index 100%
rename from app/styles/components/user-profile-permissions.scss
rename to packages/frontend/app/styles/components/user-profile-permissions.scss
diff --git a/app/styles/components/user-profile-roles.scss b/packages/frontend/app/styles/components/user-profile-roles.scss
similarity index 100%
rename from app/styles/components/user-profile-roles.scss
rename to packages/frontend/app/styles/components/user-profile-roles.scss
diff --git a/app/styles/components/user-profile-schools.scss b/packages/frontend/app/styles/components/user-profile-schools.scss
similarity index 100%
rename from app/styles/components/user-profile-schools.scss
rename to packages/frontend/app/styles/components/user-profile-schools.scss
diff --git a/app/styles/components/user-profile.scss b/packages/frontend/app/styles/components/user-profile.scss
similarity index 100%
rename from app/styles/components/user-profile.scss
rename to packages/frontend/app/styles/components/user-profile.scss
diff --git a/app/styles/components/visualizer-program-year-objectives.scss b/packages/frontend/app/styles/components/visualizer-program-year-objectives.scss
similarity index 100%
rename from app/styles/components/visualizer-program-year-objectives.scss
rename to packages/frontend/app/styles/components/visualizer-program-year-objectives.scss
diff --git a/app/styles/components/weekly-events.scss b/packages/frontend/app/styles/components/weekly-events.scss
similarity index 100%
rename from app/styles/components/weekly-events.scss
rename to packages/frontend/app/styles/components/weekly-events.scss
diff --git a/app/styles/layout/_layout.scss b/packages/frontend/app/styles/layout/_layout.scss
similarity index 100%
rename from app/styles/layout/_layout.scss
rename to packages/frontend/app/styles/layout/_layout.scss
diff --git a/app/styles/layout/_noscript.scss b/packages/frontend/app/styles/layout/_noscript.scss
similarity index 100%
rename from app/styles/layout/_noscript.scss
rename to packages/frontend/app/styles/layout/_noscript.scss
diff --git a/app/styles/mixins.scss b/packages/frontend/app/styles/mixins.scss
similarity index 100%
rename from app/styles/mixins.scss
rename to packages/frontend/app/styles/mixins.scss
diff --git a/app/styles/mixins/admin-blocks.scss b/packages/frontend/app/styles/mixins/admin-blocks.scss
similarity index 100%
rename from app/styles/mixins/admin-blocks.scss
rename to packages/frontend/app/styles/mixins/admin-blocks.scss
diff --git a/app/styles/mixins/clearfix.scss b/packages/frontend/app/styles/mixins/clearfix.scss
similarity index 100%
rename from app/styles/mixins/clearfix.scss
rename to packages/frontend/app/styles/mixins/clearfix.scss
diff --git a/app/styles/mixins/header-menu.scss b/packages/frontend/app/styles/mixins/header-menu.scss
similarity index 100%
rename from app/styles/mixins/header-menu.scss
rename to packages/frontend/app/styles/mixins/header-menu.scss
diff --git a/app/styles/mixins/main-list.scss b/packages/frontend/app/styles/mixins/main-list.scss
similarity index 100%
rename from app/styles/mixins/main-list.scss
rename to packages/frontend/app/styles/mixins/main-list.scss
diff --git a/app/styles/mixins/verification-preview-table.scss b/packages/frontend/app/styles/mixins/verification-preview-table.scss
similarity index 100%
rename from app/styles/mixins/verification-preview-table.scss
rename to packages/frontend/app/styles/mixins/verification-preview-table.scss
diff --git a/app/templates/admin-dashboard.hbs b/packages/frontend/app/templates/admin-dashboard.hbs
similarity index 100%
rename from app/templates/admin-dashboard.hbs
rename to packages/frontend/app/templates/admin-dashboard.hbs
diff --git a/app/templates/application.hbs b/packages/frontend/app/templates/application.hbs
similarity index 100%
rename from app/templates/application.hbs
rename to packages/frontend/app/templates/application.hbs
diff --git a/app/templates/assign-students.hbs b/packages/frontend/app/templates/assign-students.hbs
similarity index 100%
rename from app/templates/assign-students.hbs
rename to packages/frontend/app/templates/assign-students.hbs
diff --git a/app/templates/courses.hbs b/packages/frontend/app/templates/courses.hbs
similarity index 100%
rename from app/templates/courses.hbs
rename to packages/frontend/app/templates/courses.hbs
diff --git a/app/templates/curriculum-inventory-report.hbs b/packages/frontend/app/templates/curriculum-inventory-report.hbs
similarity index 100%
rename from app/templates/curriculum-inventory-report.hbs
rename to packages/frontend/app/templates/curriculum-inventory-report.hbs
diff --git a/app/templates/curriculum-inventory-report/index.hbs b/packages/frontend/app/templates/curriculum-inventory-report/index.hbs
similarity index 100%
rename from app/templates/curriculum-inventory-report/index.hbs
rename to packages/frontend/app/templates/curriculum-inventory-report/index.hbs
diff --git a/app/templates/curriculum-inventory-report/rollover.hbs b/packages/frontend/app/templates/curriculum-inventory-report/rollover.hbs
similarity index 100%
rename from app/templates/curriculum-inventory-report/rollover.hbs
rename to packages/frontend/app/templates/curriculum-inventory-report/rollover.hbs
diff --git a/app/templates/curriculum-inventory-reports.hbs b/packages/frontend/app/templates/curriculum-inventory-reports.hbs
similarity index 100%
rename from app/templates/curriculum-inventory-reports.hbs
rename to packages/frontend/app/templates/curriculum-inventory-reports.hbs
diff --git a/app/templates/curriculum-inventory-sequence-block.hbs b/packages/frontend/app/templates/curriculum-inventory-sequence-block.hbs
similarity index 100%
rename from app/templates/curriculum-inventory-sequence-block.hbs
rename to packages/frontend/app/templates/curriculum-inventory-sequence-block.hbs
diff --git a/app/templates/dashboard-loading.hbs b/packages/frontend/app/templates/dashboard-loading.hbs
similarity index 100%
rename from app/templates/dashboard-loading.hbs
rename to packages/frontend/app/templates/dashboard-loading.hbs
diff --git a/app/templates/dashboard.hbs b/packages/frontend/app/templates/dashboard.hbs
similarity index 100%
rename from app/templates/dashboard.hbs
rename to packages/frontend/app/templates/dashboard.hbs
diff --git a/app/templates/error.hbs b/packages/frontend/app/templates/error.hbs
similarity index 100%
rename from app/templates/error.hbs
rename to packages/frontend/app/templates/error.hbs
diff --git a/app/templates/four-oh-four.hbs b/packages/frontend/app/templates/four-oh-four.hbs
similarity index 100%
rename from app/templates/four-oh-four.hbs
rename to packages/frontend/app/templates/four-oh-four.hbs
diff --git a/app/templates/instructor-group.hbs b/packages/frontend/app/templates/instructor-group.hbs
similarity index 100%
rename from app/templates/instructor-group.hbs
rename to packages/frontend/app/templates/instructor-group.hbs
diff --git a/app/templates/instructor-groups.hbs b/packages/frontend/app/templates/instructor-groups.hbs
similarity index 100%
rename from app/templates/instructor-groups.hbs
rename to packages/frontend/app/templates/instructor-groups.hbs
diff --git a/app/templates/learner-group.hbs b/packages/frontend/app/templates/learner-group.hbs
similarity index 100%
rename from app/templates/learner-group.hbs
rename to packages/frontend/app/templates/learner-group.hbs
diff --git a/app/templates/learner-groups.hbs b/packages/frontend/app/templates/learner-groups.hbs
similarity index 100%
rename from app/templates/learner-groups.hbs
rename to packages/frontend/app/templates/learner-groups.hbs
diff --git a/app/templates/login.hbs b/packages/frontend/app/templates/login.hbs
similarity index 100%
rename from app/templates/login.hbs
rename to packages/frontend/app/templates/login.hbs
diff --git a/app/templates/logout.hbs b/packages/frontend/app/templates/logout.hbs
similarity index 100%
rename from app/templates/logout.hbs
rename to packages/frontend/app/templates/logout.hbs
diff --git a/app/templates/myprofile.hbs b/packages/frontend/app/templates/myprofile.hbs
similarity index 100%
rename from app/templates/myprofile.hbs
rename to packages/frontend/app/templates/myprofile.hbs
diff --git a/app/templates/pending-user-updates.hbs b/packages/frontend/app/templates/pending-user-updates.hbs
similarity index 100%
rename from app/templates/pending-user-updates.hbs
rename to packages/frontend/app/templates/pending-user-updates.hbs
diff --git a/app/templates/program-year-visualize-objectives.hbs b/packages/frontend/app/templates/program-year-visualize-objectives.hbs
similarity index 100%
rename from app/templates/program-year-visualize-objectives.hbs
rename to packages/frontend/app/templates/program-year-visualize-objectives.hbs
diff --git a/app/templates/program-year.hbs b/packages/frontend/app/templates/program-year.hbs
similarity index 100%
rename from app/templates/program-year.hbs
rename to packages/frontend/app/templates/program-year.hbs
diff --git a/app/templates/program-year/index.hbs b/packages/frontend/app/templates/program-year/index.hbs
similarity index 100%
rename from app/templates/program-year/index.hbs
rename to packages/frontend/app/templates/program-year/index.hbs
diff --git a/app/templates/program.hbs b/packages/frontend/app/templates/program.hbs
similarity index 100%
rename from app/templates/program.hbs
rename to packages/frontend/app/templates/program.hbs
diff --git a/app/templates/program/index.hbs b/packages/frontend/app/templates/program/index.hbs
similarity index 100%
rename from app/templates/program/index.hbs
rename to packages/frontend/app/templates/program/index.hbs
diff --git a/app/templates/program/publication-check.hbs b/packages/frontend/app/templates/program/publication-check.hbs
similarity index 100%
rename from app/templates/program/publication-check.hbs
rename to packages/frontend/app/templates/program/publication-check.hbs
diff --git a/app/templates/programs.hbs b/packages/frontend/app/templates/programs.hbs
similarity index 100%
rename from app/templates/programs.hbs
rename to packages/frontend/app/templates/programs.hbs
diff --git a/app/templates/reports.hbs b/packages/frontend/app/templates/reports.hbs
similarity index 100%
rename from app/templates/reports.hbs
rename to packages/frontend/app/templates/reports.hbs
diff --git a/app/templates/school.hbs b/packages/frontend/app/templates/school.hbs
similarity index 100%
rename from app/templates/school.hbs
rename to packages/frontend/app/templates/school.hbs
diff --git a/app/templates/schools.hbs b/packages/frontend/app/templates/schools.hbs
similarity index 100%
rename from app/templates/schools.hbs
rename to packages/frontend/app/templates/schools.hbs
diff --git a/app/templates/search.hbs b/packages/frontend/app/templates/search.hbs
similarity index 100%
rename from app/templates/search.hbs
rename to packages/frontend/app/templates/search.hbs
diff --git a/app/templates/session-type-visualize-vocabularies.hbs b/packages/frontend/app/templates/session-type-visualize-vocabularies.hbs
similarity index 100%
rename from app/templates/session-type-visualize-vocabularies.hbs
rename to packages/frontend/app/templates/session-type-visualize-vocabularies.hbs
diff --git a/app/templates/session-type-visualize-vocabulary.hbs b/packages/frontend/app/templates/session-type-visualize-vocabulary.hbs
similarity index 100%
rename from app/templates/session-type-visualize-vocabulary.hbs
rename to packages/frontend/app/templates/session-type-visualize-vocabulary.hbs
diff --git a/app/templates/subject-report.hbs b/packages/frontend/app/templates/subject-report.hbs
similarity index 100%
rename from app/templates/subject-report.hbs
rename to packages/frontend/app/templates/subject-report.hbs
diff --git a/app/templates/user.hbs b/packages/frontend/app/templates/user.hbs
similarity index 100%
rename from app/templates/user.hbs
rename to packages/frontend/app/templates/user.hbs
diff --git a/app/templates/users.hbs b/packages/frontend/app/templates/users.hbs
similarity index 100%
rename from app/templates/users.hbs
rename to packages/frontend/app/templates/users.hbs
diff --git a/app/templates/verification-preview.hbs b/packages/frontend/app/templates/verification-preview.hbs
similarity index 100%
rename from app/templates/verification-preview.hbs
rename to packages/frontend/app/templates/verification-preview.hbs
diff --git a/app/utils/clone-learner-group.js b/packages/frontend/app/utils/clone-learner-group.js
similarity index 100%
rename from app/utils/clone-learner-group.js
rename to packages/frontend/app/utils/clone-learner-group.js
diff --git a/app/utils/count-digits.js b/packages/frontend/app/utils/count-digits.js
similarity index 100%
rename from app/utils/count-digits.js
rename to packages/frontend/app/utils/count-digits.js
diff --git a/app/utils/create-download-file.js b/packages/frontend/app/utils/create-download-file.js
similarity index 100%
rename from app/utils/create-download-file.js
rename to packages/frontend/app/utils/create-download-file.js
diff --git a/app/utils/launch-worker.js b/packages/frontend/app/utils/launch-worker.js
similarity index 100%
rename from app/utils/launch-worker.js
rename to packages/frontend/app/utils/launch-worker.js
diff --git a/app/utils/pcrs-uri-to-number.js b/packages/frontend/app/utils/pcrs-uri-to-number.js
similarity index 100%
rename from app/utils/pcrs-uri-to-number.js
rename to packages/frontend/app/utils/pcrs-uri-to-number.js
diff --git a/app/utils/random-string.js b/packages/frontend/app/utils/random-string.js
similarity index 100%
rename from app/utils/random-string.js
rename to packages/frontend/app/utils/random-string.js
diff --git a/app/utils/readable-file-size.js b/packages/frontend/app/utils/readable-file-size.js
similarity index 100%
rename from app/utils/readable-file-size.js
rename to packages/frontend/app/utils/readable-file-size.js
diff --git a/app/utils/sort-cohorts.js b/packages/frontend/app/utils/sort-cohorts.js
similarity index 100%
rename from app/utils/sort-cohorts.js
rename to packages/frontend/app/utils/sort-cohorts.js
diff --git a/config/coverage.js b/packages/frontend/config/coverage.js
similarity index 100%
rename from config/coverage.js
rename to packages/frontend/config/coverage.js
diff --git a/config/dependency-lint.js b/packages/frontend/config/dependency-lint.js
similarity index 100%
rename from config/dependency-lint.js
rename to packages/frontend/config/dependency-lint.js
diff --git a/config/deploy.js b/packages/frontend/config/deploy.js
similarity index 100%
rename from config/deploy.js
rename to packages/frontend/config/deploy.js
diff --git a/config/deprecation-workflow.js b/packages/frontend/config/deprecation-workflow.js
similarity index 100%
rename from config/deprecation-workflow.js
rename to packages/frontend/config/deprecation-workflow.js
diff --git a/config/ember-cli-update.json b/packages/frontend/config/ember-cli-update.json
similarity index 100%
rename from config/ember-cli-update.json
rename to packages/frontend/config/ember-cli-update.json
diff --git a/config/ember-intl.js b/packages/frontend/config/ember-intl.js
similarity index 100%
rename from config/ember-intl.js
rename to packages/frontend/config/ember-intl.js
diff --git a/config/ember-try.js b/packages/frontend/config/ember-try.js
similarity index 100%
rename from config/ember-try.js
rename to packages/frontend/config/ember-try.js
diff --git a/config/environment.js b/packages/frontend/config/environment.js
similarity index 100%
rename from config/environment.js
rename to packages/frontend/config/environment.js
diff --git a/config/icons.js b/packages/frontend/config/icons.js
similarity index 100%
rename from config/icons.js
rename to packages/frontend/config/icons.js
diff --git a/config/manifest.js b/packages/frontend/config/manifest.js
similarity index 100%
rename from config/manifest.js
rename to packages/frontend/config/manifest.js
diff --git a/config/optional-features.json b/packages/frontend/config/optional-features.json
similarity index 100%
rename from config/optional-features.json
rename to packages/frontend/config/optional-features.json
diff --git a/config/targets.js b/packages/frontend/config/targets.js
similarity index 100%
rename from config/targets.js
rename to packages/frontend/config/targets.js
diff --git a/ember-cli-build.js b/packages/frontend/ember-cli-build.js
similarity index 100%
rename from ember-cli-build.js
rename to packages/frontend/ember-cli-build.js
diff --git a/lib/.eslintrc.js b/packages/frontend/lib/.eslintrc.js
similarity index 100%
rename from lib/.eslintrc.js
rename to packages/frontend/lib/.eslintrc.js
diff --git a/lib/ilios-error/index.js b/packages/frontend/lib/ilios-error/index.js
similarity index 100%
rename from lib/ilios-error/index.js
rename to packages/frontend/lib/ilios-error/index.js
diff --git a/lib/ilios-error/package.json b/packages/frontend/lib/ilios-error/package.json
similarity index 100%
rename from lib/ilios-error/package.json
rename to packages/frontend/lib/ilios-error/package.json
diff --git a/lib/ilios-error/public/style.css b/packages/frontend/lib/ilios-error/public/style.css
similarity index 100%
rename from lib/ilios-error/public/style.css
rename to packages/frontend/lib/ilios-error/public/style.css
diff --git a/lib/ilios-loading/index.js b/packages/frontend/lib/ilios-loading/index.js
similarity index 100%
rename from lib/ilios-loading/index.js
rename to packages/frontend/lib/ilios-loading/index.js
diff --git a/lib/ilios-loading/package.json b/packages/frontend/lib/ilios-loading/package.json
similarity index 100%
rename from lib/ilios-loading/package.json
rename to packages/frontend/lib/ilios-loading/package.json
diff --git a/lib/ilios-loading/public/display-loader.js b/packages/frontend/lib/ilios-loading/public/display-loader.js
similarity index 100%
rename from lib/ilios-loading/public/display-loader.js
rename to packages/frontend/lib/ilios-loading/public/display-loader.js
diff --git a/lib/ilios-loading/public/remove-loader-tests.js b/packages/frontend/lib/ilios-loading/public/remove-loader-tests.js
similarity index 100%
rename from lib/ilios-loading/public/remove-loader-tests.js
rename to packages/frontend/lib/ilios-loading/public/remove-loader-tests.js
diff --git a/lib/images/sunburst-icon.svg b/packages/frontend/lib/images/sunburst-icon.svg
similarity index 100%
rename from lib/images/sunburst-icon.svg
rename to packages/frontend/lib/images/sunburst-icon.svg
diff --git a/lib/images/sunburst.svg b/packages/frontend/lib/images/sunburst.svg
similarity index 100%
rename from lib/images/sunburst.svg
rename to packages/frontend/lib/images/sunburst.svg
diff --git a/mirage/config.js b/packages/frontend/mirage/config.js
similarity index 100%
rename from mirage/config.js
rename to packages/frontend/mirage/config.js
diff --git a/packages/frontend/package.json b/packages/frontend/package.json
new file mode 100644
index 0000000000..a5f6c831b4
--- /dev/null
+++ b/packages/frontend/package.json
@@ -0,0 +1,164 @@
+{
+  "name": "frontend",
+  "version": "38.0.0",
+  "description": "Curriculum Management System for the Health Professions",
+  "repository": "https://github.com/ilios/frontend",
+  "license": "MIT",
+  "author": "",
+  "directories": {
+    "doc": "doc",
+    "test": "tests"
+  },
+  "scripts": {
+    "build": "ember build --environment=production",
+    "lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\"",
+    "lint:css": "stylelint \"**/*.scss\"",
+    "lint:css:fix": "concurrently \"pnpm:lint:css -- --fix\"",
+    "lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\"",
+    "lint:hbs": "ember-template-lint .",
+    "lint:hbs:fix": "ember-template-lint . --fix",
+    "lint:js": "eslint . --cache",
+    "lint:js:fix": "eslint . --fix",
+    "start": "ember serve",
+    "test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\"",
+    "test:ember": "ember test",
+    "percy:test": "percy exec -- pnpm run test:ember",
+    "deploy:production": "ember deploy production --activate",
+    "deploy:staging": "ember deploy staging --activate",
+    "deploy:test": "ember deploy development",
+    "test:ember:browserstack": "ember test --test-port=7774 --host=127.0.0.1 --config-file=testem.browserstack.js",
+    "browserstack:connect": "ember browserstack:connect",
+    "browserstack:disconnect": "ember browserstack:disconnect",
+    "browserstack:results": "ember browserstack:results",
+    "preinstall": "npx only-allow pnpm"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.22.20",
+    "@babel/eslint-parser": "7.23.3",
+    "@babel/plugin-proposal-decorators": "^7.22.15",
+    "@ember/edition-utils": "^1.2.0",
+    "@ember/optional-features": "^2.0.0",
+    "@ember/string": "^3.1.1",
+    "@ember/test-helpers": "^3.2.0",
+    "@embroider/compat": "~3.4.4",
+    "@embroider/core": "~3.4.4",
+    "@embroider/macros": "^1.13.5",
+    "@embroider/router": "^2.1.6",
+    "@embroider/webpack": "~3.2.2",
+    "@glimmer/component": "^1.1.2",
+    "@glimmer/tracking": "^1.1.2",
+    "@percy/cli": "^1.27.7",
+    "@percy/ember": "^4.2.0",
+    "@sentry/ember": "7.99.0",
+    "broccoli-asset-rev": "^3.0.0",
+    "broccoli-file-creator": "^2.1.1",
+    "broccoli-merge-trees": "^4.2.0",
+    "browserslist": "^4.22.1",
+    "caniuse-db": "^1.0.30001583",
+    "class-validator": "^0.14.0",
+    "concurrently": "^8.2.1",
+    "ember-a11y-refocus": "3.0.2",
+    "ember-a11y-testing": "^6.1.1",
+    "ember-ajax": "^5.1.2",
+    "ember-async-data": "^1.0.3",
+    "ember-auto-import": "^2.4.3",
+    "ember-cli": "~5.3.0",
+    "ember-cli-app-version": "^6.0.1",
+    "ember-cli-babel": "^8.0.0",
+    "ember-cli-browserstack": "^3.0.0",
+    "ember-cli-bundle-analyzer": "^1.0.0",
+    "ember-cli-clean-css": "^3.0.0",
+    "ember-cli-code-coverage": "^v2.0.3",
+    "ember-cli-dependency-checker": "^3.3.2",
+    "ember-cli-dependency-lint": "2.0.1",
+    "ember-cli-deploy": "2.0.0",
+    "ember-cli-deploy-archive": "1.0.0",
+    "ember-cli-deploy-brotli": "^0.4.0",
+    "ember-cli-deploy-build": "3.0.0",
+    "ember-cli-deploy-cloudfront": "^5.0.0",
+    "ember-cli-deploy-display-revisions": "3.0.0",
+    "ember-cli-deploy-gzip": "^3.0.0",
+    "ember-cli-deploy-json-config": "1.0.1",
+    "ember-cli-deploy-revision-data": "3.0.0",
+    "ember-cli-deploy-s3-index": "3.0.0",
+    "ember-cli-deprecation-workflow": "2.2.0",
+    "ember-cli-htmlbars": "^6.3.0",
+    "ember-cli-image-transformer": "^7.0.0",
+    "ember-cli-inject-live-reload": "^2.1.0",
+    "ember-cli-mirage": "^3.0.2",
+    "ember-cli-new-version": "^4.1.0",
+    "ember-cli-page-object": "^2.2.1",
+    "ember-cli-sass": "^11.0.1",
+    "ember-cli-server-variables": "3.0.0",
+    "ember-cli-sri": "^2.1.1",
+    "ember-cli-terser": "^4.0.2",
+    "ember-focus-trap": "^1.1.0",
+    "ember-load-initializers": "^2.1.2",
+    "ember-metrics": "1.5.2",
+    "ember-modifier": "^4.1.0",
+    "ember-moment": "^10.0.0",
+    "ember-noscript": "^4.1.0",
+    "ember-page-title": "^8.0.0",
+    "ember-qunit": "^8.0.1",
+    "ember-resolver": "^11.0.1",
+    "ember-responsive": "^5.0.0",
+    "ember-source": "~5.3.0",
+    "ember-template-lint": "^5.11.2",
+    "ember-web-app": "^5.0.0",
+    "eslint": "^8.49.0",
+    "eslint-config-prettier": "^9.0.0",
+    "eslint-plugin-ember": "^11.11.1",
+    "eslint-plugin-n": "^16.1.0",
+    "eslint-plugin-prettier": "^5.0.0",
+    "eslint-plugin-qunit": "^8.0.0",
+    "file-saver": "^2.0.5",
+    "ilios-common": "^87.1.0",
+    "loader.js": "^4.7.0",
+    "luxon": "^3.4.4",
+    "miragejs": "^0.1.48",
+    "mockdate": "^3.0.5",
+    "moment-timezone": "^0.5.42",
+    "pad": "^3.2.0",
+    "papaparse": "^5.4.1",
+    "prettier": "^3.0.3",
+    "query-string": "^8.1.0",
+    "qunit": "^2.19.4",
+    "qunit-dom": "^2.0.0",
+    "sass": "^1.70.0",
+    "scroll-into-view": "^1.16.2",
+    "striptags": "^3.2.0",
+    "stylelint": "^15.10.3",
+    "stylelint-config-recommended-scss": "^13.1.0",
+    "stylelint-config-standard": "^34.0.0",
+    "stylelint-prettier": "^4.0.2",
+    "stylelint-scss": "^5.3.2",
+    "terser-webpack-plugin": "^5.3.9",
+    "testem-failure-only-reporter": "^1.0.0",
+    "tracked-built-ins": "^3.2.0",
+    "validator": "^13.11.0",
+    "webpack": "^5.88.2",
+    "webpack-bundle-analyzer": "^4.10.1",
+    "webpack-retry-chunk-load-plugin": "^3.0.0",
+    "zxcvbn": "^4.4.2"
+  },
+  "engines": {
+    "node": ">= 18",
+    "yarn": "use pnpm",
+    "npm": "use pnpm"
+  },
+  "ember": {
+    "edition": "octane"
+  },
+  "ember-addon": {
+    "paths": [
+      "lib/ilios-error",
+      "lib/ilios-loading"
+    ]
+  },
+  "private": true,
+  "dependencies": {
+    "ember-auto-import": "^2.6.3",
+    "moment": "^2.30.1",
+    "moment-timezone": "^0.5.42"
+  }
+}
diff --git a/public/_redirects b/packages/frontend/public/_redirects
similarity index 100%
rename from public/_redirects
rename to packages/frontend/public/_redirects
diff --git a/public/assets/images/ilios-logo.svg b/packages/frontend/public/assets/images/ilios-logo.svg
similarity index 100%
rename from public/assets/images/ilios-logo.svg
rename to packages/frontend/public/assets/images/ilios-logo.svg
diff --git a/public/assets/images/select-down-arrow.png b/packages/frontend/public/assets/images/select-down-arrow.png
similarity index 100%
rename from public/assets/images/select-down-arrow.png
rename to packages/frontend/public/assets/images/select-down-arrow.png
diff --git a/public/crossdomain.xml b/packages/frontend/public/crossdomain.xml
similarity index 100%
rename from public/crossdomain.xml
rename to packages/frontend/public/crossdomain.xml
diff --git a/public/favicon.ico b/packages/frontend/public/favicon.ico
similarity index 100%
rename from public/favicon.ico
rename to packages/frontend/public/favicon.ico
diff --git a/public/fontawesome/brands.svg b/packages/frontend/public/fontawesome/brands.svg
similarity index 100%
rename from public/fontawesome/brands.svg
rename to packages/frontend/public/fontawesome/brands.svg
diff --git a/public/fontawesome/regular.svg b/packages/frontend/public/fontawesome/regular.svg
similarity index 100%
rename from public/fontawesome/regular.svg
rename to packages/frontend/public/fontawesome/regular.svg
diff --git a/public/fontawesome/solid.svg b/packages/frontend/public/fontawesome/solid.svg
similarity index 100%
rename from public/fontawesome/solid.svg
rename to packages/frontend/public/fontawesome/solid.svg
diff --git a/public/robots.txt b/packages/frontend/public/robots.txt
similarity index 100%
rename from public/robots.txt
rename to packages/frontend/public/robots.txt
diff --git a/public/sw.js b/packages/frontend/public/sw.js
similarity index 100%
rename from public/sw.js
rename to packages/frontend/public/sw.js
diff --git a/testem.browserstack.js b/packages/frontend/testem.browserstack.js
similarity index 100%
rename from testem.browserstack.js
rename to packages/frontend/testem.browserstack.js
diff --git a/testem.js b/packages/frontend/testem.js
similarity index 100%
rename from testem.js
rename to packages/frontend/testem.js
diff --git a/tests/acceptance/admin-test.js b/packages/frontend/tests/acceptance/admin-test.js
similarity index 100%
rename from tests/acceptance/admin-test.js
rename to packages/frontend/tests/acceptance/admin-test.js
diff --git a/tests/acceptance/api-version-notice-test.js b/packages/frontend/tests/acceptance/api-version-notice-test.js
similarity index 100%
rename from tests/acceptance/api-version-notice-test.js
rename to packages/frontend/tests/acceptance/api-version-notice-test.js
diff --git a/tests/acceptance/assignstudents-test.js b/packages/frontend/tests/acceptance/assignstudents-test.js
similarity index 100%
rename from tests/acceptance/assignstudents-test.js
rename to packages/frontend/tests/acceptance/assignstudents-test.js
diff --git a/tests/acceptance/courses-test.js b/packages/frontend/tests/acceptance/courses-test.js
similarity index 100%
rename from tests/acceptance/courses-test.js
rename to packages/frontend/tests/acceptance/courses-test.js
diff --git a/tests/acceptance/curriculum-inventory/leadership-test.js b/packages/frontend/tests/acceptance/curriculum-inventory/leadership-test.js
similarity index 100%
rename from tests/acceptance/curriculum-inventory/leadership-test.js
rename to packages/frontend/tests/acceptance/curriculum-inventory/leadership-test.js
diff --git a/tests/acceptance/curriculum-inventory/nested-sequence-blocks-test.js b/packages/frontend/tests/acceptance/curriculum-inventory/nested-sequence-blocks-test.js
similarity index 100%
rename from tests/acceptance/curriculum-inventory/nested-sequence-blocks-test.js
rename to packages/frontend/tests/acceptance/curriculum-inventory/nested-sequence-blocks-test.js
diff --git a/tests/acceptance/curriculum-inventory/report-test.js b/packages/frontend/tests/acceptance/curriculum-inventory/report-test.js
similarity index 100%
rename from tests/acceptance/curriculum-inventory/report-test.js
rename to packages/frontend/tests/acceptance/curriculum-inventory/report-test.js
diff --git a/tests/acceptance/curriculum-inventory/reports-test.js b/packages/frontend/tests/acceptance/curriculum-inventory/reports-test.js
similarity index 100%
rename from tests/acceptance/curriculum-inventory/reports-test.js
rename to packages/frontend/tests/acceptance/curriculum-inventory/reports-test.js
diff --git a/tests/acceptance/curriculum-inventory/rollover-test.js b/packages/frontend/tests/acceptance/curriculum-inventory/rollover-test.js
similarity index 100%
rename from tests/acceptance/curriculum-inventory/rollover-test.js
rename to packages/frontend/tests/acceptance/curriculum-inventory/rollover-test.js
diff --git a/tests/acceptance/curriculum-inventory/sequence-blocks-test.js b/packages/frontend/tests/acceptance/curriculum-inventory/sequence-blocks-test.js
similarity index 100%
rename from tests/acceptance/curriculum-inventory/sequence-blocks-test.js
rename to packages/frontend/tests/acceptance/curriculum-inventory/sequence-blocks-test.js
diff --git a/tests/acceptance/dashboard/accessibility-test.js b/packages/frontend/tests/acceptance/dashboard/accessibility-test.js
similarity index 100%
rename from tests/acceptance/dashboard/accessibility-test.js
rename to packages/frontend/tests/acceptance/dashboard/accessibility-test.js
diff --git a/tests/acceptance/events-test.js b/packages/frontend/tests/acceptance/events-test.js
similarity index 100%
rename from tests/acceptance/events-test.js
rename to packages/frontend/tests/acceptance/events-test.js
diff --git a/tests/acceptance/footer-test.js b/packages/frontend/tests/acceptance/footer-test.js
similarity index 100%
rename from tests/acceptance/footer-test.js
rename to packages/frontend/tests/acceptance/footer-test.js
diff --git a/tests/acceptance/four-oh-four-test.js b/packages/frontend/tests/acceptance/four-oh-four-test.js
similarity index 100%
rename from tests/acceptance/four-oh-four-test.js
rename to packages/frontend/tests/acceptance/four-oh-four-test.js
diff --git a/tests/acceptance/header-test.js b/packages/frontend/tests/acceptance/header-test.js
similarity index 100%
rename from tests/acceptance/header-test.js
rename to packages/frontend/tests/acceptance/header-test.js
diff --git a/tests/acceptance/instructorgroup-test.js b/packages/frontend/tests/acceptance/instructorgroup-test.js
similarity index 100%
rename from tests/acceptance/instructorgroup-test.js
rename to packages/frontend/tests/acceptance/instructorgroup-test.js
diff --git a/tests/acceptance/instructorgroups-test.js b/packages/frontend/tests/acceptance/instructorgroups-test.js
similarity index 100%
rename from tests/acceptance/instructorgroups-test.js
rename to packages/frontend/tests/acceptance/instructorgroups-test.js
diff --git a/tests/acceptance/learner-group/bulk-assignment-test.js b/packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js
similarity index 100%
rename from tests/acceptance/learner-group/bulk-assignment-test.js
rename to packages/frontend/tests/acceptance/learner-group/bulk-assignment-test.js
diff --git a/tests/acceptance/learnergroup-test.js b/packages/frontend/tests/acceptance/learnergroup-test.js
similarity index 100%
rename from tests/acceptance/learnergroup-test.js
rename to packages/frontend/tests/acceptance/learnergroup-test.js
diff --git a/tests/acceptance/learnergroups-test.js b/packages/frontend/tests/acceptance/learnergroups-test.js
similarity index 100%
rename from tests/acceptance/learnergroups-test.js
rename to packages/frontend/tests/acceptance/learnergroups-test.js
diff --git a/tests/acceptance/login-test.js b/packages/frontend/tests/acceptance/login-test.js
similarity index 100%
rename from tests/acceptance/login-test.js
rename to packages/frontend/tests/acceptance/login-test.js
diff --git a/tests/acceptance/pending-user-updates-test.js b/packages/frontend/tests/acceptance/pending-user-updates-test.js
similarity index 100%
rename from tests/acceptance/pending-user-updates-test.js
rename to packages/frontend/tests/acceptance/pending-user-updates-test.js
diff --git a/tests/acceptance/program-year/competencies-test.js b/packages/frontend/tests/acceptance/program-year/competencies-test.js
similarity index 100%
rename from tests/acceptance/program-year/competencies-test.js
rename to packages/frontend/tests/acceptance/program-year/competencies-test.js
diff --git a/tests/acceptance/program-year/leadership-test.js b/packages/frontend/tests/acceptance/program-year/leadership-test.js
similarity index 100%
rename from tests/acceptance/program-year/leadership-test.js
rename to packages/frontend/tests/acceptance/program-year/leadership-test.js
diff --git a/tests/acceptance/program-year/objectives-test.js b/packages/frontend/tests/acceptance/program-year/objectives-test.js
similarity index 100%
rename from tests/acceptance/program-year/objectives-test.js
rename to packages/frontend/tests/acceptance/program-year/objectives-test.js
diff --git a/tests/acceptance/program-year/objectiveterms-test.js b/packages/frontend/tests/acceptance/program-year/objectiveterms-test.js
similarity index 100%
rename from tests/acceptance/program-year/objectiveterms-test.js
rename to packages/frontend/tests/acceptance/program-year/objectiveterms-test.js
diff --git a/tests/acceptance/program-year/terms-test.js b/packages/frontend/tests/acceptance/program-year/terms-test.js
similarity index 100%
rename from tests/acceptance/program-year/terms-test.js
rename to packages/frontend/tests/acceptance/program-year/terms-test.js
diff --git a/tests/acceptance/program/leadership-test.js b/packages/frontend/tests/acceptance/program/leadership-test.js
similarity index 100%
rename from tests/acceptance/program/leadership-test.js
rename to packages/frontend/tests/acceptance/program/leadership-test.js
diff --git a/tests/acceptance/program/overview-test.js b/packages/frontend/tests/acceptance/program/overview-test.js
similarity index 100%
rename from tests/acceptance/program/overview-test.js
rename to packages/frontend/tests/acceptance/program/overview-test.js
diff --git a/tests/acceptance/program/programyear-list-test.js b/packages/frontend/tests/acceptance/program/programyear-list-test.js
similarity index 100%
rename from tests/acceptance/program/programyear-list-test.js
rename to packages/frontend/tests/acceptance/program/programyear-list-test.js
diff --git a/tests/acceptance/program/publicationcheck-test.js b/packages/frontend/tests/acceptance/program/publicationcheck-test.js
similarity index 100%
rename from tests/acceptance/program/publicationcheck-test.js
rename to packages/frontend/tests/acceptance/program/publicationcheck-test.js
diff --git a/tests/acceptance/programs-test.js b/packages/frontend/tests/acceptance/programs-test.js
similarity index 100%
rename from tests/acceptance/programs-test.js
rename to packages/frontend/tests/acceptance/programs-test.js
diff --git a/tests/acceptance/reports/subject-test.js b/packages/frontend/tests/acceptance/reports/subject-test.js
similarity index 100%
rename from tests/acceptance/reports/subject-test.js
rename to packages/frontend/tests/acceptance/reports/subject-test.js
diff --git a/tests/acceptance/reports/subjects-test.js b/packages/frontend/tests/acceptance/reports/subjects-test.js
similarity index 100%
rename from tests/acceptance/reports/subjects-test.js
rename to packages/frontend/tests/acceptance/reports/subjects-test.js
diff --git a/tests/acceptance/school/session-attributes-test.js b/packages/frontend/tests/acceptance/school/session-attributes-test.js
similarity index 100%
rename from tests/acceptance/school/session-attributes-test.js
rename to packages/frontend/tests/acceptance/school/session-attributes-test.js
diff --git a/tests/acceptance/school/session-types-test.js b/packages/frontend/tests/acceptance/school/session-types-test.js
similarity index 100%
rename from tests/acceptance/school/session-types-test.js
rename to packages/frontend/tests/acceptance/school/session-types-test.js
diff --git a/tests/acceptance/search-test.js b/packages/frontend/tests/acceptance/search-test.js
similarity index 100%
rename from tests/acceptance/search-test.js
rename to packages/frontend/tests/acceptance/search-test.js
diff --git a/tests/acceptance/user-test.js b/packages/frontend/tests/acceptance/user-test.js
similarity index 100%
rename from tests/acceptance/user-test.js
rename to packages/frontend/tests/acceptance/user-test.js
diff --git a/tests/acceptance/users-test.js b/packages/frontend/tests/acceptance/users-test.js
similarity index 100%
rename from tests/acceptance/users-test.js
rename to packages/frontend/tests/acceptance/users-test.js
diff --git a/tests/acceptance/weeklyevents-test.js b/packages/frontend/tests/acceptance/weeklyevents-test.js
similarity index 100%
rename from tests/acceptance/weeklyevents-test.js
rename to packages/frontend/tests/acceptance/weeklyevents-test.js
diff --git a/tests/helpers/flash-message.js b/packages/frontend/tests/helpers/flash-message.js
similarity index 100%
rename from tests/helpers/flash-message.js
rename to packages/frontend/tests/helpers/flash-message.js
diff --git a/tests/helpers/index.js b/packages/frontend/tests/helpers/index.js
similarity index 100%
rename from tests/helpers/index.js
rename to packages/frontend/tests/helpers/index.js
diff --git a/tests/index.html b/packages/frontend/tests/index.html
similarity index 100%
rename from tests/index.html
rename to packages/frontend/tests/index.html
diff --git a/tests/integration/components/assign-students-test.js b/packages/frontend/tests/integration/components/assign-students-test.js
similarity index 100%
rename from tests/integration/components/assign-students-test.js
rename to packages/frontend/tests/integration/components/assign-students-test.js
diff --git a/tests/integration/components/back-to-admin-dashboard-test.js b/packages/frontend/tests/integration/components/back-to-admin-dashboard-test.js
similarity index 100%
rename from tests/integration/components/back-to-admin-dashboard-test.js
rename to packages/frontend/tests/integration/components/back-to-admin-dashboard-test.js
diff --git a/tests/integration/components/bulk-new-users-test.js b/packages/frontend/tests/integration/components/bulk-new-users-test.js
similarity index 100%
rename from tests/integration/components/bulk-new-users-test.js
rename to packages/frontend/tests/integration/components/bulk-new-users-test.js
diff --git a/tests/integration/components/competency-title-editor-test.js b/packages/frontend/tests/integration/components/competency-title-editor-test.js
similarity index 100%
rename from tests/integration/components/competency-title-editor-test.js
rename to packages/frontend/tests/integration/components/competency-title-editor-test.js
diff --git a/tests/integration/components/connection-status-test.js b/packages/frontend/tests/integration/components/connection-status-test.js
similarity index 100%
rename from tests/integration/components/connection-status-test.js
rename to packages/frontend/tests/integration/components/connection-status-test.js
diff --git a/tests/integration/components/course-search-result-test.js b/packages/frontend/tests/integration/components/course-search-result-test.js
similarity index 100%
rename from tests/integration/components/course-search-result-test.js
rename to packages/frontend/tests/integration/components/course-search-result-test.js
diff --git a/tests/integration/components/courses/list-item-test.js b/packages/frontend/tests/integration/components/courses/list-item-test.js
similarity index 100%
rename from tests/integration/components/courses/list-item-test.js
rename to packages/frontend/tests/integration/components/courses/list-item-test.js
diff --git a/tests/integration/components/courses/list-test.js b/packages/frontend/tests/integration/components/courses/list-test.js
similarity index 100%
rename from tests/integration/components/courses/list-test.js
rename to packages/frontend/tests/integration/components/courses/list-test.js
diff --git a/tests/integration/components/courses/new-test.js b/packages/frontend/tests/integration/components/courses/new-test.js
similarity index 100%
rename from tests/integration/components/courses/new-test.js
rename to packages/frontend/tests/integration/components/courses/new-test.js
diff --git a/tests/integration/components/courses/root-test.js b/packages/frontend/tests/integration/components/courses/root-test.js
similarity index 100%
rename from tests/integration/components/courses/root-test.js
rename to packages/frontend/tests/integration/components/courses/root-test.js
diff --git a/tests/integration/components/curriculum-inventory/leadership-expanded-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/leadership-expanded-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/leadership-expanded-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/leadership-expanded-test.js
diff --git a/tests/integration/components/curriculum-inventory/new-report-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/new-report-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/new-report-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/new-report-test.js
diff --git a/tests/integration/components/curriculum-inventory/new-sequence-block-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/new-sequence-block-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/new-sequence-block-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/new-sequence-block-test.js
diff --git a/tests/integration/components/curriculum-inventory/report-details-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/report-details-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/report-details-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/report-details-test.js
diff --git a/tests/integration/components/curriculum-inventory/report-header-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/report-header-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/report-header-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/report-header-test.js
diff --git a/tests/integration/components/curriculum-inventory/report-list-item-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/report-list-item-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/report-list-item-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/report-list-item-test.js
diff --git a/tests/integration/components/curriculum-inventory/report-list-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/report-list-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/report-list-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/report-list-test.js
diff --git a/tests/integration/components/curriculum-inventory/report-overview-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/report-overview-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/report-overview-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/report-overview-test.js
diff --git a/tests/integration/components/curriculum-inventory/report-rollover-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/report-rollover-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/report-rollover-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/report-rollover-test.js
diff --git a/tests/integration/components/curriculum-inventory/reports-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/reports-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/reports-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/reports-test.js
diff --git a/tests/integration/components/curriculum-inventory/sequence-block-details-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-details-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/sequence-block-details-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-details-test.js
diff --git a/tests/integration/components/curriculum-inventory/sequence-block-header-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-header-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/sequence-block-header-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-header-test.js
diff --git a/tests/integration/components/curriculum-inventory/sequence-block-list-item-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-list-item-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/sequence-block-list-item-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-list-item-test.js
diff --git a/tests/integration/components/curriculum-inventory/sequence-block-list-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-list-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/sequence-block-list-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-list-test.js
diff --git a/tests/integration/components/curriculum-inventory/sequence-block-overview-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-overview-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/sequence-block-overview-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-overview-test.js
diff --git a/tests/integration/components/curriculum-inventory/sequence-block-session-list-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-session-list-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/sequence-block-session-list-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-session-list-test.js
diff --git a/tests/integration/components/curriculum-inventory/sequence-block-session-manager-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-session-manager-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/sequence-block-session-manager-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/sequence-block-session-manager-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-header-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-header-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-header-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-header-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table1-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table1-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table1-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table1-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table2-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table2-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table2-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table2-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table3a-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table3a-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table3a-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table3a-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table3b-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table3b-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table3b-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table3b-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table4-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table4-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table4-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table4-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table5-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table5-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table5-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table5-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table6-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table6-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table6-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table6-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table7-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table7-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table7-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table7-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-table8-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table8-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-table8-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-table8-test.js
diff --git a/tests/integration/components/curriculum-inventory/verification-preview-test.js b/packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-test.js
similarity index 100%
rename from tests/integration/components/curriculum-inventory/verification-preview-test.js
rename to packages/frontend/tests/integration/components/curriculum-inventory/verification-preview-test.js
diff --git a/tests/integration/components/dashboard-loading-test.js b/packages/frontend/tests/integration/components/dashboard-loading-test.js
similarity index 100%
rename from tests/integration/components/dashboard-loading-test.js
rename to packages/frontend/tests/integration/components/dashboard-loading-test.js
diff --git a/tests/integration/components/error-display-test.js b/packages/frontend/tests/integration/components/error-display-test.js
similarity index 100%
rename from tests/integration/components/error-display-test.js
rename to packages/frontend/tests/integration/components/error-display-test.js
diff --git a/tests/integration/components/flash-messages-test.js b/packages/frontend/tests/integration/components/flash-messages-test.js
similarity index 100%
rename from tests/integration/components/flash-messages-test.js
rename to packages/frontend/tests/integration/components/flash-messages-test.js
diff --git a/tests/integration/components/global-search-box-test.js b/packages/frontend/tests/integration/components/global-search-box-test.js
similarity index 100%
rename from tests/integration/components/global-search-box-test.js
rename to packages/frontend/tests/integration/components/global-search-box-test.js
diff --git a/tests/integration/components/global-search-tags-test.js b/packages/frontend/tests/integration/components/global-search-tags-test.js
similarity index 100%
rename from tests/integration/components/global-search-tags-test.js
rename to packages/frontend/tests/integration/components/global-search-tags-test.js
diff --git a/tests/integration/components/global-search-test.js b/packages/frontend/tests/integration/components/global-search-test.js
similarity index 100%
rename from tests/integration/components/global-search-test.js
rename to packages/frontend/tests/integration/components/global-search-test.js
diff --git a/tests/integration/components/ilios-header-test.js b/packages/frontend/tests/integration/components/ilios-header-test.js
similarity index 100%
rename from tests/integration/components/ilios-header-test.js
rename to packages/frontend/tests/integration/components/ilios-header-test.js
diff --git a/tests/integration/components/ilios-navigation-test.js b/packages/frontend/tests/integration/components/ilios-navigation-test.js
similarity index 100%
rename from tests/integration/components/ilios-navigation-test.js
rename to packages/frontend/tests/integration/components/ilios-navigation-test.js
diff --git a/tests/integration/components/ilios-users-test.js b/packages/frontend/tests/integration/components/ilios-users-test.js
similarity index 100%
rename from tests/integration/components/ilios-users-test.js
rename to packages/frontend/tests/integration/components/ilios-users-test.js
diff --git a/tests/integration/components/instructor-group/courses-test.js b/packages/frontend/tests/integration/components/instructor-group/courses-test.js
similarity index 100%
rename from tests/integration/components/instructor-group/courses-test.js
rename to packages/frontend/tests/integration/components/instructor-group/courses-test.js
diff --git a/tests/integration/components/instructor-group/header-test.js b/packages/frontend/tests/integration/components/instructor-group/header-test.js
similarity index 100%
rename from tests/integration/components/instructor-group/header-test.js
rename to packages/frontend/tests/integration/components/instructor-group/header-test.js
diff --git a/tests/integration/components/instructor-group/instructor-manager-test.js b/packages/frontend/tests/integration/components/instructor-group/instructor-manager-test.js
similarity index 100%
rename from tests/integration/components/instructor-group/instructor-manager-test.js
rename to packages/frontend/tests/integration/components/instructor-group/instructor-manager-test.js
diff --git a/tests/integration/components/instructor-group/root-test.js b/packages/frontend/tests/integration/components/instructor-group/root-test.js
similarity index 100%
rename from tests/integration/components/instructor-group/root-test.js
rename to packages/frontend/tests/integration/components/instructor-group/root-test.js
diff --git a/tests/integration/components/instructor-group/users-test.js b/packages/frontend/tests/integration/components/instructor-group/users-test.js
similarity index 100%
rename from tests/integration/components/instructor-group/users-test.js
rename to packages/frontend/tests/integration/components/instructor-group/users-test.js
diff --git a/tests/integration/components/instructor-groups/list-item-test.js b/packages/frontend/tests/integration/components/instructor-groups/list-item-test.js
similarity index 100%
rename from tests/integration/components/instructor-groups/list-item-test.js
rename to packages/frontend/tests/integration/components/instructor-groups/list-item-test.js
diff --git a/tests/integration/components/instructor-groups/list-test.js b/packages/frontend/tests/integration/components/instructor-groups/list-test.js
similarity index 100%
rename from tests/integration/components/instructor-groups/list-test.js
rename to packages/frontend/tests/integration/components/instructor-groups/list-test.js
diff --git a/tests/integration/components/instructor-groups/loading-test.js b/packages/frontend/tests/integration/components/instructor-groups/loading-test.js
similarity index 100%
rename from tests/integration/components/instructor-groups/loading-test.js
rename to packages/frontend/tests/integration/components/instructor-groups/loading-test.js
diff --git a/tests/integration/components/instructor-groups/new-test.js b/packages/frontend/tests/integration/components/instructor-groups/new-test.js
similarity index 100%
rename from tests/integration/components/instructor-groups/new-test.js
rename to packages/frontend/tests/integration/components/instructor-groups/new-test.js
diff --git a/tests/integration/components/instructor-groups/root-test.js b/packages/frontend/tests/integration/components/instructor-groups/root-test.js
similarity index 100%
rename from tests/integration/components/instructor-groups/root-test.js
rename to packages/frontend/tests/integration/components/instructor-groups/root-test.js
diff --git a/tests/integration/components/learner-group/calendar-test.js b/packages/frontend/tests/integration/components/learner-group/calendar-test.js
similarity index 100%
rename from tests/integration/components/learner-group/calendar-test.js
rename to packages/frontend/tests/integration/components/learner-group/calendar-test.js
diff --git a/tests/integration/components/learner-group/cohort-user-manager-test.js b/packages/frontend/tests/integration/components/learner-group/cohort-user-manager-test.js
similarity index 100%
rename from tests/integration/components/learner-group/cohort-user-manager-test.js
rename to packages/frontend/tests/integration/components/learner-group/cohort-user-manager-test.js
diff --git a/tests/integration/components/learner-group/header-test.js b/packages/frontend/tests/integration/components/learner-group/header-test.js
similarity index 100%
rename from tests/integration/components/learner-group/header-test.js
rename to packages/frontend/tests/integration/components/learner-group/header-test.js
diff --git a/tests/integration/components/learner-group/instructor-group-members-list-test.js b/packages/frontend/tests/integration/components/learner-group/instructor-group-members-list-test.js
similarity index 100%
rename from tests/integration/components/learner-group/instructor-group-members-list-test.js
rename to packages/frontend/tests/integration/components/learner-group/instructor-group-members-list-test.js
diff --git a/tests/integration/components/learner-group/instructor-manager-test.js b/packages/frontend/tests/integration/components/learner-group/instructor-manager-test.js
similarity index 100%
rename from tests/integration/components/learner-group/instructor-manager-test.js
rename to packages/frontend/tests/integration/components/learner-group/instructor-manager-test.js
diff --git a/tests/integration/components/learner-group/list-item-test.js b/packages/frontend/tests/integration/components/learner-group/list-item-test.js
similarity index 100%
rename from tests/integration/components/learner-group/list-item-test.js
rename to packages/frontend/tests/integration/components/learner-group/list-item-test.js
diff --git a/tests/integration/components/learner-group/list-test.js b/packages/frontend/tests/integration/components/learner-group/list-test.js
similarity index 100%
rename from tests/integration/components/learner-group/list-test.js
rename to packages/frontend/tests/integration/components/learner-group/list-test.js
diff --git a/tests/integration/components/learner-group/members-test.js b/packages/frontend/tests/integration/components/learner-group/members-test.js
similarity index 100%
rename from tests/integration/components/learner-group/members-test.js
rename to packages/frontend/tests/integration/components/learner-group/members-test.js
diff --git a/tests/integration/components/learner-group/new-multiple-test.js b/packages/frontend/tests/integration/components/learner-group/new-multiple-test.js
similarity index 100%
rename from tests/integration/components/learner-group/new-multiple-test.js
rename to packages/frontend/tests/integration/components/learner-group/new-multiple-test.js
diff --git a/tests/integration/components/learner-group/new-single-test.js b/packages/frontend/tests/integration/components/learner-group/new-single-test.js
similarity index 100%
rename from tests/integration/components/learner-group/new-single-test.js
rename to packages/frontend/tests/integration/components/learner-group/new-single-test.js
diff --git a/tests/integration/components/learner-group/new-test.js b/packages/frontend/tests/integration/components/learner-group/new-test.js
similarity index 100%
rename from tests/integration/components/learner-group/new-test.js
rename to packages/frontend/tests/integration/components/learner-group/new-test.js
diff --git a/tests/integration/components/learner-group/root-test.js b/packages/frontend/tests/integration/components/learner-group/root-test.js
similarity index 100%
rename from tests/integration/components/learner-group/root-test.js
rename to packages/frontend/tests/integration/components/learner-group/root-test.js
diff --git a/tests/integration/components/learner-group/user-manager-test.js b/packages/frontend/tests/integration/components/learner-group/user-manager-test.js
similarity index 100%
rename from tests/integration/components/learner-group/user-manager-test.js
rename to packages/frontend/tests/integration/components/learner-group/user-manager-test.js
diff --git a/tests/integration/components/learner-groups/root-test.js b/packages/frontend/tests/integration/components/learner-groups/root-test.js
similarity index 100%
rename from tests/integration/components/learner-groups/root-test.js
rename to packages/frontend/tests/integration/components/learner-groups/root-test.js
diff --git a/tests/integration/components/link-to-with-action-test.js b/packages/frontend/tests/integration/components/link-to-with-action-test.js
similarity index 100%
rename from tests/integration/components/link-to-with-action-test.js
rename to packages/frontend/tests/integration/components/link-to-with-action-test.js
diff --git a/tests/integration/components/locale-chooser-test.js b/packages/frontend/tests/integration/components/locale-chooser-test.js
similarity index 100%
rename from tests/integration/components/locale-chooser-test.js
rename to packages/frontend/tests/integration/components/locale-chooser-test.js
diff --git a/tests/integration/components/login-form-test.js b/packages/frontend/tests/integration/components/login-form-test.js
similarity index 100%
rename from tests/integration/components/login-form-test.js
rename to packages/frontend/tests/integration/components/login-form-test.js
diff --git a/tests/integration/components/manage-users-summary-test.js b/packages/frontend/tests/integration/components/manage-users-summary-test.js
similarity index 100%
rename from tests/integration/components/manage-users-summary-test.js
rename to packages/frontend/tests/integration/components/manage-users-summary-test.js
diff --git a/tests/integration/components/my-profile-test.js b/packages/frontend/tests/integration/components/my-profile-test.js
similarity index 100%
rename from tests/integration/components/my-profile-test.js
rename to packages/frontend/tests/integration/components/my-profile-test.js
diff --git a/tests/integration/components/new-competency-test.js b/packages/frontend/tests/integration/components/new-competency-test.js
similarity index 100%
rename from tests/integration/components/new-competency-test.js
rename to packages/frontend/tests/integration/components/new-competency-test.js
diff --git a/tests/integration/components/new-directory-user-test.js b/packages/frontend/tests/integration/components/new-directory-user-test.js
similarity index 100%
rename from tests/integration/components/new-directory-user-test.js
rename to packages/frontend/tests/integration/components/new-directory-user-test.js
diff --git a/tests/integration/components/new-user-test.js b/packages/frontend/tests/integration/components/new-user-test.js
similarity index 100%
rename from tests/integration/components/new-user-test.js
rename to packages/frontend/tests/integration/components/new-user-test.js
diff --git a/tests/integration/components/pagination-links-test.js b/packages/frontend/tests/integration/components/pagination-links-test.js
similarity index 100%
rename from tests/integration/components/pagination-links-test.js
rename to packages/frontend/tests/integration/components/pagination-links-test.js
diff --git a/tests/integration/components/pending-single-user-update-test.js b/packages/frontend/tests/integration/components/pending-single-user-update-test.js
similarity index 100%
rename from tests/integration/components/pending-single-user-update-test.js
rename to packages/frontend/tests/integration/components/pending-single-user-update-test.js
diff --git a/tests/integration/components/pending-updates-summary-test.js b/packages/frontend/tests/integration/components/pending-updates-summary-test.js
similarity index 100%
rename from tests/integration/components/pending-updates-summary-test.js
rename to packages/frontend/tests/integration/components/pending-updates-summary-test.js
diff --git a/tests/integration/components/program-year/collapsed-objectives-test.js b/packages/frontend/tests/integration/components/program-year/collapsed-objectives-test.js
similarity index 100%
rename from tests/integration/components/program-year/collapsed-objectives-test.js
rename to packages/frontend/tests/integration/components/program-year/collapsed-objectives-test.js
diff --git a/tests/integration/components/program-year/competencies-test.js b/packages/frontend/tests/integration/components/program-year/competencies-test.js
similarity index 100%
rename from tests/integration/components/program-year/competencies-test.js
rename to packages/frontend/tests/integration/components/program-year/competencies-test.js
diff --git a/tests/integration/components/program-year/competency-list-item-test.js b/packages/frontend/tests/integration/components/program-year/competency-list-item-test.js
similarity index 100%
rename from tests/integration/components/program-year/competency-list-item-test.js
rename to packages/frontend/tests/integration/components/program-year/competency-list-item-test.js
diff --git a/tests/integration/components/program-year/courses-test.js b/packages/frontend/tests/integration/components/program-year/courses-test.js
similarity index 100%
rename from tests/integration/components/program-year/courses-test.js
rename to packages/frontend/tests/integration/components/program-year/courses-test.js
diff --git a/tests/integration/components/program-year/header-test.js b/packages/frontend/tests/integration/components/program-year/header-test.js
similarity index 100%
rename from tests/integration/components/program-year/header-test.js
rename to packages/frontend/tests/integration/components/program-year/header-test.js
diff --git a/tests/integration/components/program-year/leadership-expanded-test.js b/packages/frontend/tests/integration/components/program-year/leadership-expanded-test.js
similarity index 100%
rename from tests/integration/components/program-year/leadership-expanded-test.js
rename to packages/frontend/tests/integration/components/program-year/leadership-expanded-test.js
diff --git a/tests/integration/components/program-year/list-item-test.js b/packages/frontend/tests/integration/components/program-year/list-item-test.js
similarity index 100%
rename from tests/integration/components/program-year/list-item-test.js
rename to packages/frontend/tests/integration/components/program-year/list-item-test.js
diff --git a/tests/integration/components/program-year/list-test.js b/packages/frontend/tests/integration/components/program-year/list-test.js
similarity index 100%
rename from tests/integration/components/program-year/list-test.js
rename to packages/frontend/tests/integration/components/program-year/list-test.js
diff --git a/tests/integration/components/program-year/manage-objective-competency-test.js b/packages/frontend/tests/integration/components/program-year/manage-objective-competency-test.js
similarity index 100%
rename from tests/integration/components/program-year/manage-objective-competency-test.js
rename to packages/frontend/tests/integration/components/program-year/manage-objective-competency-test.js
diff --git a/tests/integration/components/program-year/manage-objective-descriptors-test.js b/packages/frontend/tests/integration/components/program-year/manage-objective-descriptors-test.js
similarity index 100%
rename from tests/integration/components/program-year/manage-objective-descriptors-test.js
rename to packages/frontend/tests/integration/components/program-year/manage-objective-descriptors-test.js
diff --git a/tests/integration/components/program-year/managed-competency-list-item-test.js b/packages/frontend/tests/integration/components/program-year/managed-competency-list-item-test.js
similarity index 100%
rename from tests/integration/components/program-year/managed-competency-list-item-test.js
rename to packages/frontend/tests/integration/components/program-year/managed-competency-list-item-test.js
diff --git a/tests/integration/components/program-year/new-test.js b/packages/frontend/tests/integration/components/program-year/new-test.js
similarity index 100%
rename from tests/integration/components/program-year/new-test.js
rename to packages/frontend/tests/integration/components/program-year/new-test.js
diff --git a/tests/integration/components/program-year/objective-list-item-competency-test.js b/packages/frontend/tests/integration/components/program-year/objective-list-item-competency-test.js
similarity index 100%
rename from tests/integration/components/program-year/objective-list-item-competency-test.js
rename to packages/frontend/tests/integration/components/program-year/objective-list-item-competency-test.js
diff --git a/tests/integration/components/program-year/objective-list-item-descriptors-test.js b/packages/frontend/tests/integration/components/program-year/objective-list-item-descriptors-test.js
similarity index 100%
rename from tests/integration/components/program-year/objective-list-item-descriptors-test.js
rename to packages/frontend/tests/integration/components/program-year/objective-list-item-descriptors-test.js
diff --git a/tests/integration/components/program-year/objective-list-item-expanded-test.js b/packages/frontend/tests/integration/components/program-year/objective-list-item-expanded-test.js
similarity index 100%
rename from tests/integration/components/program-year/objective-list-item-expanded-test.js
rename to packages/frontend/tests/integration/components/program-year/objective-list-item-expanded-test.js
diff --git a/tests/integration/components/program-year/objective-list-item-test.js b/packages/frontend/tests/integration/components/program-year/objective-list-item-test.js
similarity index 100%
rename from tests/integration/components/program-year/objective-list-item-test.js
rename to packages/frontend/tests/integration/components/program-year/objective-list-item-test.js
diff --git a/tests/integration/components/program-year/objective-list-loading-test.js b/packages/frontend/tests/integration/components/program-year/objective-list-loading-test.js
similarity index 100%
rename from tests/integration/components/program-year/objective-list-loading-test.js
rename to packages/frontend/tests/integration/components/program-year/objective-list-loading-test.js
diff --git a/tests/integration/components/program-year/objective-list-test.js b/packages/frontend/tests/integration/components/program-year/objective-list-test.js
similarity index 100%
rename from tests/integration/components/program-year/objective-list-test.js
rename to packages/frontend/tests/integration/components/program-year/objective-list-test.js
diff --git a/tests/integration/components/program-year/objectives-test.js b/packages/frontend/tests/integration/components/program-year/objectives-test.js
similarity index 100%
rename from tests/integration/components/program-year/objectives-test.js
rename to packages/frontend/tests/integration/components/program-year/objectives-test.js
diff --git a/tests/integration/components/program-year/overview-test.js b/packages/frontend/tests/integration/components/program-year/overview-test.js
similarity index 100%
rename from tests/integration/components/program-year/overview-test.js
rename to packages/frontend/tests/integration/components/program-year/overview-test.js
diff --git a/tests/integration/components/program-year/visualize-objectives-test.js b/packages/frontend/tests/integration/components/program-year/visualize-objectives-test.js
similarity index 100%
rename from tests/integration/components/program-year/visualize-objectives-test.js
rename to packages/frontend/tests/integration/components/program-year/visualize-objectives-test.js
diff --git a/tests/integration/components/program/header-test.js b/packages/frontend/tests/integration/components/program/header-test.js
similarity index 100%
rename from tests/integration/components/program/header-test.js
rename to packages/frontend/tests/integration/components/program/header-test.js
diff --git a/tests/integration/components/program/leadership-expanded-test.js b/packages/frontend/tests/integration/components/program/leadership-expanded-test.js
similarity index 100%
rename from tests/integration/components/program/leadership-expanded-test.js
rename to packages/frontend/tests/integration/components/program/leadership-expanded-test.js
diff --git a/tests/integration/components/program/new-test.js b/packages/frontend/tests/integration/components/program/new-test.js
similarity index 100%
rename from tests/integration/components/program/new-test.js
rename to packages/frontend/tests/integration/components/program/new-test.js
diff --git a/tests/integration/components/programs/list-item-test.js b/packages/frontend/tests/integration/components/programs/list-item-test.js
similarity index 100%
rename from tests/integration/components/programs/list-item-test.js
rename to packages/frontend/tests/integration/components/programs/list-item-test.js
diff --git a/tests/integration/components/programs/list-test.js b/packages/frontend/tests/integration/components/programs/list-test.js
similarity index 100%
rename from tests/integration/components/programs/list-test.js
rename to packages/frontend/tests/integration/components/programs/list-test.js
diff --git a/tests/integration/components/programs/root-test.js b/packages/frontend/tests/integration/components/programs/root-test.js
similarity index 100%
rename from tests/integration/components/programs/root-test.js
rename to packages/frontend/tests/integration/components/programs/root-test.js
diff --git a/tests/integration/components/reports/list-loading-test.js b/packages/frontend/tests/integration/components/reports/list-loading-test.js
similarity index 100%
rename from tests/integration/components/reports/list-loading-test.js
rename to packages/frontend/tests/integration/components/reports/list-loading-test.js
diff --git a/tests/integration/components/reports/list-test.js b/packages/frontend/tests/integration/components/reports/list-test.js
similarity index 100%
rename from tests/integration/components/reports/list-test.js
rename to packages/frontend/tests/integration/components/reports/list-test.js
diff --git a/tests/integration/components/reports/new-subject-test.js b/packages/frontend/tests/integration/components/reports/new-subject-test.js
similarity index 100%
rename from tests/integration/components/reports/new-subject-test.js
rename to packages/frontend/tests/integration/components/reports/new-subject-test.js
diff --git a/tests/integration/components/reports/root-test.js b/packages/frontend/tests/integration/components/reports/root-test.js
similarity index 100%
rename from tests/integration/components/reports/root-test.js
rename to packages/frontend/tests/integration/components/reports/root-test.js
diff --git a/tests/integration/components/reports/subject-results-test.js b/packages/frontend/tests/integration/components/reports/subject-results-test.js
similarity index 100%
rename from tests/integration/components/reports/subject-results-test.js
rename to packages/frontend/tests/integration/components/reports/subject-results-test.js
diff --git a/tests/integration/components/reports/subject-test.js b/packages/frontend/tests/integration/components/reports/subject-test.js
similarity index 100%
rename from tests/integration/components/reports/subject-test.js
rename to packages/frontend/tests/integration/components/reports/subject-test.js
diff --git a/tests/integration/components/reports/subject/competency-test.js b/packages/frontend/tests/integration/components/reports/subject/competency-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/competency-test.js
rename to packages/frontend/tests/integration/components/reports/subject/competency-test.js
diff --git a/tests/integration/components/reports/subject/course-test.js b/packages/frontend/tests/integration/components/reports/subject/course-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/course-test.js
rename to packages/frontend/tests/integration/components/reports/subject/course-test.js
diff --git a/tests/integration/components/reports/subject/instructor-group-test.js b/packages/frontend/tests/integration/components/reports/subject/instructor-group-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/instructor-group-test.js
rename to packages/frontend/tests/integration/components/reports/subject/instructor-group-test.js
diff --git a/tests/integration/components/reports/subject/instructor-test.js b/packages/frontend/tests/integration/components/reports/subject/instructor-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/instructor-test.js
rename to packages/frontend/tests/integration/components/reports/subject/instructor-test.js
diff --git a/tests/integration/components/reports/subject/learning-material-test.js b/packages/frontend/tests/integration/components/reports/subject/learning-material-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/learning-material-test.js
rename to packages/frontend/tests/integration/components/reports/subject/learning-material-test.js
diff --git a/tests/integration/components/reports/subject/mesh-term-test.js b/packages/frontend/tests/integration/components/reports/subject/mesh-term-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/mesh-term-test.js
rename to packages/frontend/tests/integration/components/reports/subject/mesh-term-test.js
diff --git a/tests/integration/components/reports/subject/new/competency-test.js b/packages/frontend/tests/integration/components/reports/subject/new/competency-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/competency-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/competency-test.js
diff --git a/tests/integration/components/reports/subject/new/course-test.js b/packages/frontend/tests/integration/components/reports/subject/new/course-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/course-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/course-test.js
diff --git a/tests/integration/components/reports/subject/new/instructor-group-test.js b/packages/frontend/tests/integration/components/reports/subject/new/instructor-group-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/instructor-group-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/instructor-group-test.js
diff --git a/tests/integration/components/reports/subject/new/instructor-test.js b/packages/frontend/tests/integration/components/reports/subject/new/instructor-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/instructor-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/instructor-test.js
diff --git a/tests/integration/components/reports/subject/new/learning-material-test.js b/packages/frontend/tests/integration/components/reports/subject/new/learning-material-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/learning-material-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/learning-material-test.js
diff --git a/tests/integration/components/reports/subject/new/mesh-term-test.js b/packages/frontend/tests/integration/components/reports/subject/new/mesh-term-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/mesh-term-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/mesh-term-test.js
diff --git a/tests/integration/components/reports/subject/new/program-test.js b/packages/frontend/tests/integration/components/reports/subject/new/program-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/program-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/program-test.js
diff --git a/tests/integration/components/reports/subject/new/program-year-test.js b/packages/frontend/tests/integration/components/reports/subject/new/program-year-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/program-year-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/program-year-test.js
diff --git a/tests/integration/components/reports/subject/new/search/input-test.js b/packages/frontend/tests/integration/components/reports/subject/new/search/input-test.js
similarity index 99%
rename from tests/integration/components/reports/subject/new/search/input-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/search/input-test.js
index f09e1cc228..40a20495b4 100644
--- a/tests/integration/components/reports/subject/new/search/input-test.js
+++ b/packages/frontend/tests/integration/components/reports/subject/new/search/input-test.js
@@ -52,7 +52,6 @@ module('Integration | Component | reports/subject/new/search/input', function (h
       <Reports::Subject::New::Search::Input
         @search={{this.search}}
         @searchIsIdle={{true}}
-        as |num|
       >
       </Reports::Subject::New::Search::Input>
     `);
diff --git a/tests/integration/components/reports/subject/new/session-test.js b/packages/frontend/tests/integration/components/reports/subject/new/session-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/session-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/session-test.js
diff --git a/tests/integration/components/reports/subject/new/session-type-test.js b/packages/frontend/tests/integration/components/reports/subject/new/session-type-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/session-type-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/session-type-test.js
diff --git a/tests/integration/components/reports/subject/new/term-test.js b/packages/frontend/tests/integration/components/reports/subject/new/term-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/new/term-test.js
rename to packages/frontend/tests/integration/components/reports/subject/new/term-test.js
diff --git a/tests/integration/components/reports/subject/program-test.js b/packages/frontend/tests/integration/components/reports/subject/program-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/program-test.js
rename to packages/frontend/tests/integration/components/reports/subject/program-test.js
diff --git a/tests/integration/components/reports/subject/program-year-test.js b/packages/frontend/tests/integration/components/reports/subject/program-year-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/program-year-test.js
rename to packages/frontend/tests/integration/components/reports/subject/program-year-test.js
diff --git a/tests/integration/components/reports/subject/session-test.js b/packages/frontend/tests/integration/components/reports/subject/session-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/session-test.js
rename to packages/frontend/tests/integration/components/reports/subject/session-test.js
diff --git a/tests/integration/components/reports/subject/session-type-test.js b/packages/frontend/tests/integration/components/reports/subject/session-type-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/session-type-test.js
rename to packages/frontend/tests/integration/components/reports/subject/session-type-test.js
diff --git a/tests/integration/components/reports/subject/term-test.js b/packages/frontend/tests/integration/components/reports/subject/term-test.js
similarity index 100%
rename from tests/integration/components/reports/subject/term-test.js
rename to packages/frontend/tests/integration/components/reports/subject/term-test.js
diff --git a/tests/integration/components/reports/table-row-test.js b/packages/frontend/tests/integration/components/reports/table-row-test.js
similarity index 100%
rename from tests/integration/components/reports/table-row-test.js
rename to packages/frontend/tests/integration/components/reports/table-row-test.js
diff --git a/tests/integration/components/reports/table-test.js b/packages/frontend/tests/integration/components/reports/table-test.js
similarity index 100%
rename from tests/integration/components/reports/table-test.js
rename to packages/frontend/tests/integration/components/reports/table-test.js
diff --git a/tests/integration/components/school-competencies-collapsed-test.js b/packages/frontend/tests/integration/components/school-competencies-collapsed-test.js
similarity index 100%
rename from tests/integration/components/school-competencies-collapsed-test.js
rename to packages/frontend/tests/integration/components/school-competencies-collapsed-test.js
diff --git a/tests/integration/components/school-competencies-expanded-test.js b/packages/frontend/tests/integration/components/school-competencies-expanded-test.js
similarity index 100%
rename from tests/integration/components/school-competencies-expanded-test.js
rename to packages/frontend/tests/integration/components/school-competencies-expanded-test.js
diff --git a/tests/integration/components/school-competencies-list-item-pcrs-test.js b/packages/frontend/tests/integration/components/school-competencies-list-item-pcrs-test.js
similarity index 100%
rename from tests/integration/components/school-competencies-list-item-pcrs-test.js
rename to packages/frontend/tests/integration/components/school-competencies-list-item-pcrs-test.js
diff --git a/tests/integration/components/school-competencies-list-item-test.js b/packages/frontend/tests/integration/components/school-competencies-list-item-test.js
similarity index 100%
rename from tests/integration/components/school-competencies-list-item-test.js
rename to packages/frontend/tests/integration/components/school-competencies-list-item-test.js
diff --git a/tests/integration/components/school-competencies-list-test.js b/packages/frontend/tests/integration/components/school-competencies-list-test.js
similarity index 100%
rename from tests/integration/components/school-competencies-list-test.js
rename to packages/frontend/tests/integration/components/school-competencies-list-test.js
diff --git a/tests/integration/components/school-competencies-manager-test.js b/packages/frontend/tests/integration/components/school-competencies-manager-test.js
similarity index 100%
rename from tests/integration/components/school-competencies-manager-test.js
rename to packages/frontend/tests/integration/components/school-competencies-manager-test.js
diff --git a/tests/integration/components/school-competencies-pcrs-mapper-test.js b/packages/frontend/tests/integration/components/school-competencies-pcrs-mapper-test.js
similarity index 100%
rename from tests/integration/components/school-competencies-pcrs-mapper-test.js
rename to packages/frontend/tests/integration/components/school-competencies-pcrs-mapper-test.js
diff --git a/tests/integration/components/school-curriculum-inventory-institution-details-test.js b/packages/frontend/tests/integration/components/school-curriculum-inventory-institution-details-test.js
similarity index 100%
rename from tests/integration/components/school-curriculum-inventory-institution-details-test.js
rename to packages/frontend/tests/integration/components/school-curriculum-inventory-institution-details-test.js
diff --git a/tests/integration/components/school-curriculum-inventory-institution-manager-test.js b/packages/frontend/tests/integration/components/school-curriculum-inventory-institution-manager-test.js
similarity index 100%
rename from tests/integration/components/school-curriculum-inventory-institution-manager-test.js
rename to packages/frontend/tests/integration/components/school-curriculum-inventory-institution-manager-test.js
diff --git a/tests/integration/components/school-leadership-expanded-test.js b/packages/frontend/tests/integration/components/school-leadership-expanded-test.js
similarity index 100%
rename from tests/integration/components/school-leadership-expanded-test.js
rename to packages/frontend/tests/integration/components/school-leadership-expanded-test.js
diff --git a/tests/integration/components/school-list-test.js b/packages/frontend/tests/integration/components/school-list-test.js
similarity index 100%
rename from tests/integration/components/school-list-test.js
rename to packages/frontend/tests/integration/components/school-list-test.js
diff --git a/tests/integration/components/school-manager-test.js b/packages/frontend/tests/integration/components/school-manager-test.js
similarity index 100%
rename from tests/integration/components/school-manager-test.js
rename to packages/frontend/tests/integration/components/school-manager-test.js
diff --git a/tests/integration/components/school-new-vocabulary-form-test.js b/packages/frontend/tests/integration/components/school-new-vocabulary-form-test.js
similarity index 100%
rename from tests/integration/components/school-new-vocabulary-form-test.js
rename to packages/frontend/tests/integration/components/school-new-vocabulary-form-test.js
diff --git a/tests/integration/components/school-session-attributes-collapsed-test.js b/packages/frontend/tests/integration/components/school-session-attributes-collapsed-test.js
similarity index 100%
rename from tests/integration/components/school-session-attributes-collapsed-test.js
rename to packages/frontend/tests/integration/components/school-session-attributes-collapsed-test.js
diff --git a/tests/integration/components/school-session-attributes-expanded-test.js b/packages/frontend/tests/integration/components/school-session-attributes-expanded-test.js
similarity index 100%
rename from tests/integration/components/school-session-attributes-expanded-test.js
rename to packages/frontend/tests/integration/components/school-session-attributes-expanded-test.js
diff --git a/tests/integration/components/school-session-attributes-manager-test.js b/packages/frontend/tests/integration/components/school-session-attributes-manager-test.js
similarity index 100%
rename from tests/integration/components/school-session-attributes-manager-test.js
rename to packages/frontend/tests/integration/components/school-session-attributes-manager-test.js
diff --git a/tests/integration/components/school-session-attributes-test.js b/packages/frontend/tests/integration/components/school-session-attributes-test.js
similarity index 100%
rename from tests/integration/components/school-session-attributes-test.js
rename to packages/frontend/tests/integration/components/school-session-attributes-test.js
diff --git a/tests/integration/components/school-session-type-form-test.js b/packages/frontend/tests/integration/components/school-session-type-form-test.js
similarity index 100%
rename from tests/integration/components/school-session-type-form-test.js
rename to packages/frontend/tests/integration/components/school-session-type-form-test.js
diff --git a/tests/integration/components/school-session-type-manager-test.js b/packages/frontend/tests/integration/components/school-session-type-manager-test.js
similarity index 100%
rename from tests/integration/components/school-session-type-manager-test.js
rename to packages/frontend/tests/integration/components/school-session-type-manager-test.js
diff --git a/tests/integration/components/school-session-types-collapsed-test.js b/packages/frontend/tests/integration/components/school-session-types-collapsed-test.js
similarity index 100%
rename from tests/integration/components/school-session-types-collapsed-test.js
rename to packages/frontend/tests/integration/components/school-session-types-collapsed-test.js
diff --git a/tests/integration/components/school-session-types-expanded-test.js b/packages/frontend/tests/integration/components/school-session-types-expanded-test.js
similarity index 100%
rename from tests/integration/components/school-session-types-expanded-test.js
rename to packages/frontend/tests/integration/components/school-session-types-expanded-test.js
diff --git a/tests/integration/components/school-session-types-list-item-test.js b/packages/frontend/tests/integration/components/school-session-types-list-item-test.js
similarity index 100%
rename from tests/integration/components/school-session-types-list-item-test.js
rename to packages/frontend/tests/integration/components/school-session-types-list-item-test.js
diff --git a/tests/integration/components/school-session-types-list-test.js b/packages/frontend/tests/integration/components/school-session-types-list-test.js
similarity index 100%
rename from tests/integration/components/school-session-types-list-test.js
rename to packages/frontend/tests/integration/components/school-session-types-list-test.js
diff --git a/tests/integration/components/school-vocabularies-collapsed-test.js b/packages/frontend/tests/integration/components/school-vocabularies-collapsed-test.js
similarity index 100%
rename from tests/integration/components/school-vocabularies-collapsed-test.js
rename to packages/frontend/tests/integration/components/school-vocabularies-collapsed-test.js
diff --git a/tests/integration/components/school-vocabularies-expanded-test.js b/packages/frontend/tests/integration/components/school-vocabularies-expanded-test.js
similarity index 100%
rename from tests/integration/components/school-vocabularies-expanded-test.js
rename to packages/frontend/tests/integration/components/school-vocabularies-expanded-test.js
diff --git a/tests/integration/components/school-vocabularies-list-test.js b/packages/frontend/tests/integration/components/school-vocabularies-list-test.js
similarity index 100%
rename from tests/integration/components/school-vocabularies-list-test.js
rename to packages/frontend/tests/integration/components/school-vocabularies-list-test.js
diff --git a/tests/integration/components/school-vocabulary-manager-test.js b/packages/frontend/tests/integration/components/school-vocabulary-manager-test.js
similarity index 100%
rename from tests/integration/components/school-vocabulary-manager-test.js
rename to packages/frontend/tests/integration/components/school-vocabulary-manager-test.js
diff --git a/tests/integration/components/school-vocabulary-new-term-test.js b/packages/frontend/tests/integration/components/school-vocabulary-new-term-test.js
similarity index 100%
rename from tests/integration/components/school-vocabulary-new-term-test.js
rename to packages/frontend/tests/integration/components/school-vocabulary-new-term-test.js
diff --git a/tests/integration/components/school-vocabulary-term-manager-test.js b/packages/frontend/tests/integration/components/school-vocabulary-term-manager-test.js
similarity index 100%
rename from tests/integration/components/school-vocabulary-term-manager-test.js
rename to packages/frontend/tests/integration/components/school-vocabulary-term-manager-test.js
diff --git a/tests/integration/components/school/session-type-visualize-vocabularies-test.js b/packages/frontend/tests/integration/components/school/session-type-visualize-vocabularies-test.js
similarity index 100%
rename from tests/integration/components/school/session-type-visualize-vocabularies-test.js
rename to packages/frontend/tests/integration/components/school/session-type-visualize-vocabularies-test.js
diff --git a/tests/integration/components/school/session-type-visualize-vocabulary-test.js b/packages/frontend/tests/integration/components/school/session-type-visualize-vocabulary-test.js
similarity index 100%
rename from tests/integration/components/school/session-type-visualize-vocabulary-test.js
rename to packages/frontend/tests/integration/components/school/session-type-visualize-vocabulary-test.js
diff --git a/tests/integration/components/school/visualizer-session-type-vocabularies-test.js b/packages/frontend/tests/integration/components/school/visualizer-session-type-vocabularies-test.js
similarity index 100%
rename from tests/integration/components/school/visualizer-session-type-vocabularies-test.js
rename to packages/frontend/tests/integration/components/school/visualizer-session-type-vocabularies-test.js
diff --git a/tests/integration/components/school/visualizer-session-type-vocabulary-test.js b/packages/frontend/tests/integration/components/school/visualizer-session-type-vocabulary-test.js
similarity index 100%
rename from tests/integration/components/school/visualizer-session-type-vocabulary-test.js
rename to packages/frontend/tests/integration/components/school/visualizer-session-type-vocabulary-test.js
diff --git a/tests/integration/components/unassigned-students-summary-test.js b/packages/frontend/tests/integration/components/unassigned-students-summary-test.js
similarity index 100%
rename from tests/integration/components/unassigned-students-summary-test.js
rename to packages/frontend/tests/integration/components/unassigned-students-summary-test.js
diff --git a/tests/integration/components/update-notification-test.js b/packages/frontend/tests/integration/components/update-notification-test.js
similarity index 100%
rename from tests/integration/components/update-notification-test.js
rename to packages/frontend/tests/integration/components/update-notification-test.js
diff --git a/tests/integration/components/user-list-test.js b/packages/frontend/tests/integration/components/user-list-test.js
similarity index 100%
rename from tests/integration/components/user-list-test.js
rename to packages/frontend/tests/integration/components/user-list-test.js
diff --git a/tests/integration/components/user-menu-test.js b/packages/frontend/tests/integration/components/user-menu-test.js
similarity index 100%
rename from tests/integration/components/user-menu-test.js
rename to packages/frontend/tests/integration/components/user-menu-test.js
diff --git a/tests/integration/components/user-profile-bio-test.js b/packages/frontend/tests/integration/components/user-profile-bio-test.js
similarity index 100%
rename from tests/integration/components/user-profile-bio-test.js
rename to packages/frontend/tests/integration/components/user-profile-bio-test.js
diff --git a/tests/integration/components/user-profile-calendar-test.js b/packages/frontend/tests/integration/components/user-profile-calendar-test.js
similarity index 100%
rename from tests/integration/components/user-profile-calendar-test.js
rename to packages/frontend/tests/integration/components/user-profile-calendar-test.js
diff --git a/tests/integration/components/user-profile-cohorts-details-test.js b/packages/frontend/tests/integration/components/user-profile-cohorts-details-test.js
similarity index 100%
rename from tests/integration/components/user-profile-cohorts-details-test.js
rename to packages/frontend/tests/integration/components/user-profile-cohorts-details-test.js
diff --git a/tests/integration/components/user-profile-cohorts-manager-test.js b/packages/frontend/tests/integration/components/user-profile-cohorts-manager-test.js
similarity index 100%
rename from tests/integration/components/user-profile-cohorts-manager-test.js
rename to packages/frontend/tests/integration/components/user-profile-cohorts-manager-test.js
diff --git a/tests/integration/components/user-profile-cohorts-test.js b/packages/frontend/tests/integration/components/user-profile-cohorts-test.js
similarity index 100%
rename from tests/integration/components/user-profile-cohorts-test.js
rename to packages/frontend/tests/integration/components/user-profile-cohorts-test.js
diff --git a/tests/integration/components/user-profile-ics-test.js b/packages/frontend/tests/integration/components/user-profile-ics-test.js
similarity index 100%
rename from tests/integration/components/user-profile-ics-test.js
rename to packages/frontend/tests/integration/components/user-profile-ics-test.js
diff --git a/tests/integration/components/user-profile-permissions-test.js b/packages/frontend/tests/integration/components/user-profile-permissions-test.js
similarity index 100%
rename from tests/integration/components/user-profile-permissions-test.js
rename to packages/frontend/tests/integration/components/user-profile-permissions-test.js
diff --git a/tests/integration/components/user-profile-roles-test.js b/packages/frontend/tests/integration/components/user-profile-roles-test.js
similarity index 100%
rename from tests/integration/components/user-profile-roles-test.js
rename to packages/frontend/tests/integration/components/user-profile-roles-test.js
diff --git a/tests/integration/components/user-profile-test.js b/packages/frontend/tests/integration/components/user-profile-test.js
similarity index 100%
rename from tests/integration/components/user-profile-test.js
rename to packages/frontend/tests/integration/components/user-profile-test.js
diff --git a/tests/integration/components/user-profile/learner-group-test.js b/packages/frontend/tests/integration/components/user-profile/learner-group-test.js
similarity index 100%
rename from tests/integration/components/user-profile/learner-group-test.js
rename to packages/frontend/tests/integration/components/user-profile/learner-group-test.js
diff --git a/tests/integration/components/user-profile/learner-groups-test.js b/packages/frontend/tests/integration/components/user-profile/learner-groups-test.js
similarity index 100%
rename from tests/integration/components/user-profile/learner-groups-test.js
rename to packages/frontend/tests/integration/components/user-profile/learner-groups-test.js
diff --git a/tests/integration/components/visualizer-program-year-objectives-test.js b/packages/frontend/tests/integration/components/visualizer-program-year-objectives-test.js
similarity index 100%
rename from tests/integration/components/visualizer-program-year-objectives-test.js
rename to packages/frontend/tests/integration/components/visualizer-program-year-objectives-test.js
diff --git a/tests/integration/components/yes-no-test.js b/packages/frontend/tests/integration/components/yes-no-test.js
similarity index 100%
rename from tests/integration/components/yes-no-test.js
rename to packages/frontend/tests/integration/components/yes-no-test.js
diff --git a/tests/integration/helpers/pcrs-uri-to-number-test.js b/packages/frontend/tests/integration/helpers/pcrs-uri-to-number-test.js
similarity index 100%
rename from tests/integration/helpers/pcrs-uri-to-number-test.js
rename to packages/frontend/tests/integration/helpers/pcrs-uri-to-number-test.js
diff --git a/tests/pages/assign-students.js b/packages/frontend/tests/pages/assign-students.js
similarity index 100%
rename from tests/pages/assign-students.js
rename to packages/frontend/tests/pages/assign-students.js
diff --git a/tests/pages/components/assign-students.js b/packages/frontend/tests/pages/components/assign-students.js
similarity index 100%
rename from tests/pages/components/assign-students.js
rename to packages/frontend/tests/pages/components/assign-students.js
diff --git a/tests/pages/components/back-to-admin-dashboard.js b/packages/frontend/tests/pages/components/back-to-admin-dashboard.js
similarity index 100%
rename from tests/pages/components/back-to-admin-dashboard.js
rename to packages/frontend/tests/pages/components/back-to-admin-dashboard.js
diff --git a/tests/pages/components/competency-title-editor.js b/packages/frontend/tests/pages/components/competency-title-editor.js
similarity index 100%
rename from tests/pages/components/competency-title-editor.js
rename to packages/frontend/tests/pages/components/competency-title-editor.js
diff --git a/tests/pages/components/course-search-result.js b/packages/frontend/tests/pages/components/course-search-result.js
similarity index 100%
rename from tests/pages/components/course-search-result.js
rename to packages/frontend/tests/pages/components/course-search-result.js
diff --git a/tests/pages/components/courses/list-item.js b/packages/frontend/tests/pages/components/courses/list-item.js
similarity index 100%
rename from tests/pages/components/courses/list-item.js
rename to packages/frontend/tests/pages/components/courses/list-item.js
diff --git a/tests/pages/components/courses/list.js b/packages/frontend/tests/pages/components/courses/list.js
similarity index 100%
rename from tests/pages/components/courses/list.js
rename to packages/frontend/tests/pages/components/courses/list.js
diff --git a/tests/pages/components/courses/new.js b/packages/frontend/tests/pages/components/courses/new.js
similarity index 100%
rename from tests/pages/components/courses/new.js
rename to packages/frontend/tests/pages/components/courses/new.js
diff --git a/tests/pages/components/courses/root.js b/packages/frontend/tests/pages/components/courses/root.js
similarity index 100%
rename from tests/pages/components/courses/root.js
rename to packages/frontend/tests/pages/components/courses/root.js
diff --git a/tests/pages/components/curriculum-inventory/leadership-collapsed.js b/packages/frontend/tests/pages/components/curriculum-inventory/leadership-collapsed.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/leadership-collapsed.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/leadership-collapsed.js
diff --git a/tests/pages/components/curriculum-inventory/leadership-expanded.js b/packages/frontend/tests/pages/components/curriculum-inventory/leadership-expanded.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/leadership-expanded.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/leadership-expanded.js
diff --git a/tests/pages/components/curriculum-inventory/new-report.js b/packages/frontend/tests/pages/components/curriculum-inventory/new-report.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/new-report.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/new-report.js
diff --git a/tests/pages/components/curriculum-inventory/new-sequence-block.js b/packages/frontend/tests/pages/components/curriculum-inventory/new-sequence-block.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/new-sequence-block.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/new-sequence-block.js
diff --git a/tests/pages/components/curriculum-inventory/report-details.js b/packages/frontend/tests/pages/components/curriculum-inventory/report-details.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/report-details.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/report-details.js
diff --git a/tests/pages/components/curriculum-inventory/report-header.js b/packages/frontend/tests/pages/components/curriculum-inventory/report-header.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/report-header.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/report-header.js
diff --git a/tests/pages/components/curriculum-inventory/report-list-item.js b/packages/frontend/tests/pages/components/curriculum-inventory/report-list-item.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/report-list-item.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/report-list-item.js
diff --git a/tests/pages/components/curriculum-inventory/report-list.js b/packages/frontend/tests/pages/components/curriculum-inventory/report-list.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/report-list.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/report-list.js
diff --git a/tests/pages/components/curriculum-inventory/report-overview.js b/packages/frontend/tests/pages/components/curriculum-inventory/report-overview.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/report-overview.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/report-overview.js
diff --git a/tests/pages/components/curriculum-inventory/report-rollover.js b/packages/frontend/tests/pages/components/curriculum-inventory/report-rollover.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/report-rollover.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/report-rollover.js
diff --git a/tests/pages/components/curriculum-inventory/reports.js b/packages/frontend/tests/pages/components/curriculum-inventory/reports.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/reports.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/reports.js
diff --git a/tests/pages/components/curriculum-inventory/sequence-block-details.js b/packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-details.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/sequence-block-details.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-details.js
diff --git a/tests/pages/components/curriculum-inventory/sequence-block-header.js b/packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-header.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/sequence-block-header.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-header.js
diff --git a/tests/pages/components/curriculum-inventory/sequence-block-list-item.js b/packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-list-item.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/sequence-block-list-item.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-list-item.js
diff --git a/tests/pages/components/curriculum-inventory/sequence-block-list.js b/packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-list.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/sequence-block-list.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-list.js
diff --git a/tests/pages/components/curriculum-inventory/sequence-block-overview.js b/packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-overview.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/sequence-block-overview.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-overview.js
diff --git a/tests/pages/components/curriculum-inventory/sequence-block-session-list.js b/packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-session-list.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/sequence-block-session-list.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-session-list.js
diff --git a/tests/pages/components/curriculum-inventory/sequence-block-session-manager.js b/packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-session-manager.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/sequence-block-session-manager.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/sequence-block-session-manager.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-header.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-header.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-header.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-header.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table1.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table1.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table1.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table1.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table2.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table2.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table2.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table2.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table3a.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table3a.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table3a.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table3a.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table3b.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table3b.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table3b.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table3b.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table4.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table4.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table4.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table4.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table5.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table5.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table5.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table5.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table6.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table6.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table6.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table6.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table7.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table7.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table7.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table7.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview-table8.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table8.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview-table8.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview-table8.js
diff --git a/tests/pages/components/curriculum-inventory/verification-preview.js b/packages/frontend/tests/pages/components/curriculum-inventory/verification-preview.js
similarity index 100%
rename from tests/pages/components/curriculum-inventory/verification-preview.js
rename to packages/frontend/tests/pages/components/curriculum-inventory/verification-preview.js
diff --git a/tests/pages/components/flash-messages.js b/packages/frontend/tests/pages/components/flash-messages.js
similarity index 100%
rename from tests/pages/components/flash-messages.js
rename to packages/frontend/tests/pages/components/flash-messages.js
diff --git a/tests/pages/components/global-search-box.js b/packages/frontend/tests/pages/components/global-search-box.js
similarity index 100%
rename from tests/pages/components/global-search-box.js
rename to packages/frontend/tests/pages/components/global-search-box.js
diff --git a/tests/pages/components/global-search-tags.js b/packages/frontend/tests/pages/components/global-search-tags.js
similarity index 100%
rename from tests/pages/components/global-search-tags.js
rename to packages/frontend/tests/pages/components/global-search-tags.js
diff --git a/tests/pages/components/global-search.js b/packages/frontend/tests/pages/components/global-search.js
similarity index 100%
rename from tests/pages/components/global-search.js
rename to packages/frontend/tests/pages/components/global-search.js
diff --git a/tests/pages/components/ilios-header.js b/packages/frontend/tests/pages/components/ilios-header.js
similarity index 100%
rename from tests/pages/components/ilios-header.js
rename to packages/frontend/tests/pages/components/ilios-header.js
diff --git a/tests/pages/components/ilios-navigation.js b/packages/frontend/tests/pages/components/ilios-navigation.js
similarity index 100%
rename from tests/pages/components/ilios-navigation.js
rename to packages/frontend/tests/pages/components/ilios-navigation.js
diff --git a/tests/pages/components/ilios-users.js b/packages/frontend/tests/pages/components/ilios-users.js
similarity index 100%
rename from tests/pages/components/ilios-users.js
rename to packages/frontend/tests/pages/components/ilios-users.js
diff --git a/tests/pages/components/instructor-group/courses.js b/packages/frontend/tests/pages/components/instructor-group/courses.js
similarity index 100%
rename from tests/pages/components/instructor-group/courses.js
rename to packages/frontend/tests/pages/components/instructor-group/courses.js
diff --git a/tests/pages/components/instructor-group/header.js b/packages/frontend/tests/pages/components/instructor-group/header.js
similarity index 100%
rename from tests/pages/components/instructor-group/header.js
rename to packages/frontend/tests/pages/components/instructor-group/header.js
diff --git a/tests/pages/components/instructor-group/instructor-manager.js b/packages/frontend/tests/pages/components/instructor-group/instructor-manager.js
similarity index 100%
rename from tests/pages/components/instructor-group/instructor-manager.js
rename to packages/frontend/tests/pages/components/instructor-group/instructor-manager.js
diff --git a/tests/pages/components/instructor-group/root.js b/packages/frontend/tests/pages/components/instructor-group/root.js
similarity index 100%
rename from tests/pages/components/instructor-group/root.js
rename to packages/frontend/tests/pages/components/instructor-group/root.js
diff --git a/tests/pages/components/instructor-group/users.js b/packages/frontend/tests/pages/components/instructor-group/users.js
similarity index 100%
rename from tests/pages/components/instructor-group/users.js
rename to packages/frontend/tests/pages/components/instructor-group/users.js
diff --git a/tests/pages/components/instructor-groups/list-item.js b/packages/frontend/tests/pages/components/instructor-groups/list-item.js
similarity index 100%
rename from tests/pages/components/instructor-groups/list-item.js
rename to packages/frontend/tests/pages/components/instructor-groups/list-item.js
diff --git a/tests/pages/components/instructor-groups/list.js b/packages/frontend/tests/pages/components/instructor-groups/list.js
similarity index 100%
rename from tests/pages/components/instructor-groups/list.js
rename to packages/frontend/tests/pages/components/instructor-groups/list.js
diff --git a/tests/pages/components/instructor-groups/new.js b/packages/frontend/tests/pages/components/instructor-groups/new.js
similarity index 100%
rename from tests/pages/components/instructor-groups/new.js
rename to packages/frontend/tests/pages/components/instructor-groups/new.js
diff --git a/tests/pages/components/instructor-groups/root.js b/packages/frontend/tests/pages/components/instructor-groups/root.js
similarity index 100%
rename from tests/pages/components/instructor-groups/root.js
rename to packages/frontend/tests/pages/components/instructor-groups/root.js
diff --git a/tests/pages/components/learner-group/bulk-assignment.js b/packages/frontend/tests/pages/components/learner-group/bulk-assignment.js
similarity index 100%
rename from tests/pages/components/learner-group/bulk-assignment.js
rename to packages/frontend/tests/pages/components/learner-group/bulk-assignment.js
diff --git a/tests/pages/components/learner-group/calendar.js b/packages/frontend/tests/pages/components/learner-group/calendar.js
similarity index 100%
rename from tests/pages/components/learner-group/calendar.js
rename to packages/frontend/tests/pages/components/learner-group/calendar.js
diff --git a/tests/pages/components/learner-group/cohort-user-manager.js b/packages/frontend/tests/pages/components/learner-group/cohort-user-manager.js
similarity index 100%
rename from tests/pages/components/learner-group/cohort-user-manager.js
rename to packages/frontend/tests/pages/components/learner-group/cohort-user-manager.js
diff --git a/tests/pages/components/learner-group/header.js b/packages/frontend/tests/pages/components/learner-group/header.js
similarity index 100%
rename from tests/pages/components/learner-group/header.js
rename to packages/frontend/tests/pages/components/learner-group/header.js
diff --git a/tests/pages/components/learner-group/instructor-group-members-list.js b/packages/frontend/tests/pages/components/learner-group/instructor-group-members-list.js
similarity index 100%
rename from tests/pages/components/learner-group/instructor-group-members-list.js
rename to packages/frontend/tests/pages/components/learner-group/instructor-group-members-list.js
diff --git a/tests/pages/components/learner-group/instructor-manager.js b/packages/frontend/tests/pages/components/learner-group/instructor-manager.js
similarity index 100%
rename from tests/pages/components/learner-group/instructor-manager.js
rename to packages/frontend/tests/pages/components/learner-group/instructor-manager.js
diff --git a/tests/pages/components/learner-group/list-item.js b/packages/frontend/tests/pages/components/learner-group/list-item.js
similarity index 100%
rename from tests/pages/components/learner-group/list-item.js
rename to packages/frontend/tests/pages/components/learner-group/list-item.js
diff --git a/tests/pages/components/learner-group/list.js b/packages/frontend/tests/pages/components/learner-group/list.js
similarity index 100%
rename from tests/pages/components/learner-group/list.js
rename to packages/frontend/tests/pages/components/learner-group/list.js
diff --git a/tests/pages/components/learner-group/members.js b/packages/frontend/tests/pages/components/learner-group/members.js
similarity index 100%
rename from tests/pages/components/learner-group/members.js
rename to packages/frontend/tests/pages/components/learner-group/members.js
diff --git a/tests/pages/components/learner-group/new-multiple.js b/packages/frontend/tests/pages/components/learner-group/new-multiple.js
similarity index 100%
rename from tests/pages/components/learner-group/new-multiple.js
rename to packages/frontend/tests/pages/components/learner-group/new-multiple.js
diff --git a/tests/pages/components/learner-group/new-single.js b/packages/frontend/tests/pages/components/learner-group/new-single.js
similarity index 100%
rename from tests/pages/components/learner-group/new-single.js
rename to packages/frontend/tests/pages/components/learner-group/new-single.js
diff --git a/tests/pages/components/learner-group/new.js b/packages/frontend/tests/pages/components/learner-group/new.js
similarity index 100%
rename from tests/pages/components/learner-group/new.js
rename to packages/frontend/tests/pages/components/learner-group/new.js
diff --git a/tests/pages/components/learner-group/root.js b/packages/frontend/tests/pages/components/learner-group/root.js
similarity index 100%
rename from tests/pages/components/learner-group/root.js
rename to packages/frontend/tests/pages/components/learner-group/root.js
diff --git a/tests/pages/components/learner-group/user-manager.js b/packages/frontend/tests/pages/components/learner-group/user-manager.js
similarity index 100%
rename from tests/pages/components/learner-group/user-manager.js
rename to packages/frontend/tests/pages/components/learner-group/user-manager.js
diff --git a/tests/pages/components/learner-groups/root.js b/packages/frontend/tests/pages/components/learner-groups/root.js
similarity index 100%
rename from tests/pages/components/learner-groups/root.js
rename to packages/frontend/tests/pages/components/learner-groups/root.js
diff --git a/tests/pages/components/locale-chooser.js b/packages/frontend/tests/pages/components/locale-chooser.js
similarity index 100%
rename from tests/pages/components/locale-chooser.js
rename to packages/frontend/tests/pages/components/locale-chooser.js
diff --git a/tests/pages/components/login-form.js b/packages/frontend/tests/pages/components/login-form.js
similarity index 100%
rename from tests/pages/components/login-form.js
rename to packages/frontend/tests/pages/components/login-form.js
diff --git a/tests/pages/components/my-profile.js b/packages/frontend/tests/pages/components/my-profile.js
similarity index 100%
rename from tests/pages/components/my-profile.js
rename to packages/frontend/tests/pages/components/my-profile.js
diff --git a/tests/pages/components/new-competency.js b/packages/frontend/tests/pages/components/new-competency.js
similarity index 100%
rename from tests/pages/components/new-competency.js
rename to packages/frontend/tests/pages/components/new-competency.js
diff --git a/tests/pages/components/new-directory-user.js b/packages/frontend/tests/pages/components/new-directory-user.js
similarity index 100%
rename from tests/pages/components/new-directory-user.js
rename to packages/frontend/tests/pages/components/new-directory-user.js
diff --git a/tests/pages/components/new-user.js b/packages/frontend/tests/pages/components/new-user.js
similarity index 100%
rename from tests/pages/components/new-user.js
rename to packages/frontend/tests/pages/components/new-user.js
diff --git a/tests/pages/components/pagination-links.js b/packages/frontend/tests/pages/components/pagination-links.js
similarity index 100%
rename from tests/pages/components/pagination-links.js
rename to packages/frontend/tests/pages/components/pagination-links.js
diff --git a/tests/pages/components/pending-single-user-update.js b/packages/frontend/tests/pages/components/pending-single-user-update.js
similarity index 100%
rename from tests/pages/components/pending-single-user-update.js
rename to packages/frontend/tests/pages/components/pending-single-user-update.js
diff --git a/tests/pages/components/pending-updates-summary.js b/packages/frontend/tests/pages/components/pending-updates-summary.js
similarity index 100%
rename from tests/pages/components/pending-updates-summary.js
rename to packages/frontend/tests/pages/components/pending-updates-summary.js
diff --git a/tests/pages/components/program-year/collapsed-objectives.js b/packages/frontend/tests/pages/components/program-year/collapsed-objectives.js
similarity index 100%
rename from tests/pages/components/program-year/collapsed-objectives.js
rename to packages/frontend/tests/pages/components/program-year/collapsed-objectives.js
diff --git a/tests/pages/components/program-year/competencies.js b/packages/frontend/tests/pages/components/program-year/competencies.js
similarity index 100%
rename from tests/pages/components/program-year/competencies.js
rename to packages/frontend/tests/pages/components/program-year/competencies.js
diff --git a/tests/pages/components/program-year/competency-list-item.js b/packages/frontend/tests/pages/components/program-year/competency-list-item.js
similarity index 100%
rename from tests/pages/components/program-year/competency-list-item.js
rename to packages/frontend/tests/pages/components/program-year/competency-list-item.js
diff --git a/tests/pages/components/program-year/courses.js b/packages/frontend/tests/pages/components/program-year/courses.js
similarity index 100%
rename from tests/pages/components/program-year/courses.js
rename to packages/frontend/tests/pages/components/program-year/courses.js
diff --git a/tests/pages/components/program-year/details.js b/packages/frontend/tests/pages/components/program-year/details.js
similarity index 100%
rename from tests/pages/components/program-year/details.js
rename to packages/frontend/tests/pages/components/program-year/details.js
diff --git a/tests/pages/components/program-year/header.js b/packages/frontend/tests/pages/components/program-year/header.js
similarity index 100%
rename from tests/pages/components/program-year/header.js
rename to packages/frontend/tests/pages/components/program-year/header.js
diff --git a/tests/pages/components/program-year/leadership-expanded.js b/packages/frontend/tests/pages/components/program-year/leadership-expanded.js
similarity index 100%
rename from tests/pages/components/program-year/leadership-expanded.js
rename to packages/frontend/tests/pages/components/program-year/leadership-expanded.js
diff --git a/tests/pages/components/program-year/list-item.js b/packages/frontend/tests/pages/components/program-year/list-item.js
similarity index 100%
rename from tests/pages/components/program-year/list-item.js
rename to packages/frontend/tests/pages/components/program-year/list-item.js
diff --git a/tests/pages/components/program-year/list.js b/packages/frontend/tests/pages/components/program-year/list.js
similarity index 100%
rename from tests/pages/components/program-year/list.js
rename to packages/frontend/tests/pages/components/program-year/list.js
diff --git a/tests/pages/components/program-year/manage-objective-competency.js b/packages/frontend/tests/pages/components/program-year/manage-objective-competency.js
similarity index 100%
rename from tests/pages/components/program-year/manage-objective-competency.js
rename to packages/frontend/tests/pages/components/program-year/manage-objective-competency.js
diff --git a/tests/pages/components/program-year/manage-objective-descriptors.js b/packages/frontend/tests/pages/components/program-year/manage-objective-descriptors.js
similarity index 100%
rename from tests/pages/components/program-year/manage-objective-descriptors.js
rename to packages/frontend/tests/pages/components/program-year/manage-objective-descriptors.js
diff --git a/tests/pages/components/program-year/managed-competency-list-item.js b/packages/frontend/tests/pages/components/program-year/managed-competency-list-item.js
similarity index 100%
rename from tests/pages/components/program-year/managed-competency-list-item.js
rename to packages/frontend/tests/pages/components/program-year/managed-competency-list-item.js
diff --git a/tests/pages/components/program-year/new.js b/packages/frontend/tests/pages/components/program-year/new.js
similarity index 100%
rename from tests/pages/components/program-year/new.js
rename to packages/frontend/tests/pages/components/program-year/new.js
diff --git a/tests/pages/components/program-year/objective-list-item-competency.js b/packages/frontend/tests/pages/components/program-year/objective-list-item-competency.js
similarity index 100%
rename from tests/pages/components/program-year/objective-list-item-competency.js
rename to packages/frontend/tests/pages/components/program-year/objective-list-item-competency.js
diff --git a/tests/pages/components/program-year/objective-list-item-descriptors.js b/packages/frontend/tests/pages/components/program-year/objective-list-item-descriptors.js
similarity index 100%
rename from tests/pages/components/program-year/objective-list-item-descriptors.js
rename to packages/frontend/tests/pages/components/program-year/objective-list-item-descriptors.js
diff --git a/tests/pages/components/program-year/objective-list-item-expanded.js b/packages/frontend/tests/pages/components/program-year/objective-list-item-expanded.js
similarity index 100%
rename from tests/pages/components/program-year/objective-list-item-expanded.js
rename to packages/frontend/tests/pages/components/program-year/objective-list-item-expanded.js
diff --git a/tests/pages/components/program-year/objective-list-item.js b/packages/frontend/tests/pages/components/program-year/objective-list-item.js
similarity index 100%
rename from tests/pages/components/program-year/objective-list-item.js
rename to packages/frontend/tests/pages/components/program-year/objective-list-item.js
diff --git a/tests/pages/components/program-year/objective-list.js b/packages/frontend/tests/pages/components/program-year/objective-list.js
similarity index 100%
rename from tests/pages/components/program-year/objective-list.js
rename to packages/frontend/tests/pages/components/program-year/objective-list.js
diff --git a/tests/pages/components/program-year/objectives.js b/packages/frontend/tests/pages/components/program-year/objectives.js
similarity index 100%
rename from tests/pages/components/program-year/objectives.js
rename to packages/frontend/tests/pages/components/program-year/objectives.js
diff --git a/tests/pages/components/program-year/overview.js b/packages/frontend/tests/pages/components/program-year/overview.js
similarity index 100%
rename from tests/pages/components/program-year/overview.js
rename to packages/frontend/tests/pages/components/program-year/overview.js
diff --git a/tests/pages/components/program-year/visualize-objectives.js b/packages/frontend/tests/pages/components/program-year/visualize-objectives.js
similarity index 100%
rename from tests/pages/components/program-year/visualize-objectives.js
rename to packages/frontend/tests/pages/components/program-year/visualize-objectives.js
diff --git a/tests/pages/components/program/header.js b/packages/frontend/tests/pages/components/program/header.js
similarity index 100%
rename from tests/pages/components/program/header.js
rename to packages/frontend/tests/pages/components/program/header.js
diff --git a/tests/pages/components/program/leadership-expanded.js b/packages/frontend/tests/pages/components/program/leadership-expanded.js
similarity index 100%
rename from tests/pages/components/program/leadership-expanded.js
rename to packages/frontend/tests/pages/components/program/leadership-expanded.js
diff --git a/tests/pages/components/program/new.js b/packages/frontend/tests/pages/components/program/new.js
similarity index 100%
rename from tests/pages/components/program/new.js
rename to packages/frontend/tests/pages/components/program/new.js
diff --git a/tests/pages/components/program/overview.js b/packages/frontend/tests/pages/components/program/overview.js
similarity index 100%
rename from tests/pages/components/program/overview.js
rename to packages/frontend/tests/pages/components/program/overview.js
diff --git a/tests/pages/components/program/root.js b/packages/frontend/tests/pages/components/program/root.js
similarity index 100%
rename from tests/pages/components/program/root.js
rename to packages/frontend/tests/pages/components/program/root.js
diff --git a/tests/pages/components/programs/list-item.js b/packages/frontend/tests/pages/components/programs/list-item.js
similarity index 100%
rename from tests/pages/components/programs/list-item.js
rename to packages/frontend/tests/pages/components/programs/list-item.js
diff --git a/tests/pages/components/programs/list.js b/packages/frontend/tests/pages/components/programs/list.js
similarity index 100%
rename from tests/pages/components/programs/list.js
rename to packages/frontend/tests/pages/components/programs/list.js
diff --git a/tests/pages/components/programs/root.js b/packages/frontend/tests/pages/components/programs/root.js
similarity index 100%
rename from tests/pages/components/programs/root.js
rename to packages/frontend/tests/pages/components/programs/root.js
diff --git a/tests/pages/components/reports/list.js b/packages/frontend/tests/pages/components/reports/list.js
similarity index 100%
rename from tests/pages/components/reports/list.js
rename to packages/frontend/tests/pages/components/reports/list.js
diff --git a/tests/pages/components/reports/new-subject.js b/packages/frontend/tests/pages/components/reports/new-subject.js
similarity index 100%
rename from tests/pages/components/reports/new-subject.js
rename to packages/frontend/tests/pages/components/reports/new-subject.js
diff --git a/tests/pages/components/reports/results.js b/packages/frontend/tests/pages/components/reports/results.js
similarity index 100%
rename from tests/pages/components/reports/results.js
rename to packages/frontend/tests/pages/components/reports/results.js
diff --git a/tests/pages/components/reports/root.js b/packages/frontend/tests/pages/components/reports/root.js
similarity index 100%
rename from tests/pages/components/reports/root.js
rename to packages/frontend/tests/pages/components/reports/root.js
diff --git a/tests/pages/components/reports/run-subject.js b/packages/frontend/tests/pages/components/reports/run-subject.js
similarity index 100%
rename from tests/pages/components/reports/run-subject.js
rename to packages/frontend/tests/pages/components/reports/run-subject.js
diff --git a/tests/pages/components/reports/subject.js b/packages/frontend/tests/pages/components/reports/subject.js
similarity index 100%
rename from tests/pages/components/reports/subject.js
rename to packages/frontend/tests/pages/components/reports/subject.js
diff --git a/tests/pages/components/reports/subject/competency.js b/packages/frontend/tests/pages/components/reports/subject/competency.js
similarity index 100%
rename from tests/pages/components/reports/subject/competency.js
rename to packages/frontend/tests/pages/components/reports/subject/competency.js
diff --git a/tests/pages/components/reports/subject/course.js b/packages/frontend/tests/pages/components/reports/subject/course.js
similarity index 100%
rename from tests/pages/components/reports/subject/course.js
rename to packages/frontend/tests/pages/components/reports/subject/course.js
diff --git a/tests/pages/components/reports/subject/instructor-group.js b/packages/frontend/tests/pages/components/reports/subject/instructor-group.js
similarity index 100%
rename from tests/pages/components/reports/subject/instructor-group.js
rename to packages/frontend/tests/pages/components/reports/subject/instructor-group.js
diff --git a/tests/pages/components/reports/subject/instructor.js b/packages/frontend/tests/pages/components/reports/subject/instructor.js
similarity index 100%
rename from tests/pages/components/reports/subject/instructor.js
rename to packages/frontend/tests/pages/components/reports/subject/instructor.js
diff --git a/tests/pages/components/reports/subject/learning-material.js b/packages/frontend/tests/pages/components/reports/subject/learning-material.js
similarity index 100%
rename from tests/pages/components/reports/subject/learning-material.js
rename to packages/frontend/tests/pages/components/reports/subject/learning-material.js
diff --git a/tests/pages/components/reports/subject/mesh-term.js b/packages/frontend/tests/pages/components/reports/subject/mesh-term.js
similarity index 100%
rename from tests/pages/components/reports/subject/mesh-term.js
rename to packages/frontend/tests/pages/components/reports/subject/mesh-term.js
diff --git a/tests/pages/components/reports/subject/new/competency.js b/packages/frontend/tests/pages/components/reports/subject/new/competency.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/competency.js
rename to packages/frontend/tests/pages/components/reports/subject/new/competency.js
diff --git a/tests/pages/components/reports/subject/new/course.js b/packages/frontend/tests/pages/components/reports/subject/new/course.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/course.js
rename to packages/frontend/tests/pages/components/reports/subject/new/course.js
diff --git a/tests/pages/components/reports/subject/new/instructor-group.js b/packages/frontend/tests/pages/components/reports/subject/new/instructor-group.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/instructor-group.js
rename to packages/frontend/tests/pages/components/reports/subject/new/instructor-group.js
diff --git a/tests/pages/components/reports/subject/new/instructor.js b/packages/frontend/tests/pages/components/reports/subject/new/instructor.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/instructor.js
rename to packages/frontend/tests/pages/components/reports/subject/new/instructor.js
diff --git a/tests/pages/components/reports/subject/new/learning-material.js b/packages/frontend/tests/pages/components/reports/subject/new/learning-material.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/learning-material.js
rename to packages/frontend/tests/pages/components/reports/subject/new/learning-material.js
diff --git a/tests/pages/components/reports/subject/new/mesh-term.js b/packages/frontend/tests/pages/components/reports/subject/new/mesh-term.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/mesh-term.js
rename to packages/frontend/tests/pages/components/reports/subject/new/mesh-term.js
diff --git a/tests/pages/components/reports/subject/new/program-year.js b/packages/frontend/tests/pages/components/reports/subject/new/program-year.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/program-year.js
rename to packages/frontend/tests/pages/components/reports/subject/new/program-year.js
diff --git a/tests/pages/components/reports/subject/new/program.js b/packages/frontend/tests/pages/components/reports/subject/new/program.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/program.js
rename to packages/frontend/tests/pages/components/reports/subject/new/program.js
diff --git a/tests/pages/components/reports/subject/new/search/input.js b/packages/frontend/tests/pages/components/reports/subject/new/search/input.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/search/input.js
rename to packages/frontend/tests/pages/components/reports/subject/new/search/input.js
diff --git a/tests/pages/components/reports/subject/new/session-type.js b/packages/frontend/tests/pages/components/reports/subject/new/session-type.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/session-type.js
rename to packages/frontend/tests/pages/components/reports/subject/new/session-type.js
diff --git a/tests/pages/components/reports/subject/new/session.js b/packages/frontend/tests/pages/components/reports/subject/new/session.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/session.js
rename to packages/frontend/tests/pages/components/reports/subject/new/session.js
diff --git a/tests/pages/components/reports/subject/new/term.js b/packages/frontend/tests/pages/components/reports/subject/new/term.js
similarity index 100%
rename from tests/pages/components/reports/subject/new/term.js
rename to packages/frontend/tests/pages/components/reports/subject/new/term.js
diff --git a/tests/pages/components/reports/subject/program-year.js b/packages/frontend/tests/pages/components/reports/subject/program-year.js
similarity index 100%
rename from tests/pages/components/reports/subject/program-year.js
rename to packages/frontend/tests/pages/components/reports/subject/program-year.js
diff --git a/tests/pages/components/reports/subject/program.js b/packages/frontend/tests/pages/components/reports/subject/program.js
similarity index 100%
rename from tests/pages/components/reports/subject/program.js
rename to packages/frontend/tests/pages/components/reports/subject/program.js
diff --git a/tests/pages/components/reports/subject/session-type.js b/packages/frontend/tests/pages/components/reports/subject/session-type.js
similarity index 100%
rename from tests/pages/components/reports/subject/session-type.js
rename to packages/frontend/tests/pages/components/reports/subject/session-type.js
diff --git a/tests/pages/components/reports/subject/session.js b/packages/frontend/tests/pages/components/reports/subject/session.js
similarity index 100%
rename from tests/pages/components/reports/subject/session.js
rename to packages/frontend/tests/pages/components/reports/subject/session.js
diff --git a/tests/pages/components/reports/subject/term.js b/packages/frontend/tests/pages/components/reports/subject/term.js
similarity index 100%
rename from tests/pages/components/reports/subject/term.js
rename to packages/frontend/tests/pages/components/reports/subject/term.js
diff --git a/tests/pages/components/reports/table-row.js b/packages/frontend/tests/pages/components/reports/table-row.js
similarity index 100%
rename from tests/pages/components/reports/table-row.js
rename to packages/frontend/tests/pages/components/reports/table-row.js
diff --git a/tests/pages/components/reports/table.js b/packages/frontend/tests/pages/components/reports/table.js
similarity index 100%
rename from tests/pages/components/reports/table.js
rename to packages/frontend/tests/pages/components/reports/table.js
diff --git a/tests/pages/components/school-competencies-collapsed.js b/packages/frontend/tests/pages/components/school-competencies-collapsed.js
similarity index 100%
rename from tests/pages/components/school-competencies-collapsed.js
rename to packages/frontend/tests/pages/components/school-competencies-collapsed.js
diff --git a/tests/pages/components/school-competencies-expanded.js b/packages/frontend/tests/pages/components/school-competencies-expanded.js
similarity index 100%
rename from tests/pages/components/school-competencies-expanded.js
rename to packages/frontend/tests/pages/components/school-competencies-expanded.js
diff --git a/tests/pages/components/school-competencies-list-item-pcrs.js b/packages/frontend/tests/pages/components/school-competencies-list-item-pcrs.js
similarity index 100%
rename from tests/pages/components/school-competencies-list-item-pcrs.js
rename to packages/frontend/tests/pages/components/school-competencies-list-item-pcrs.js
diff --git a/tests/pages/components/school-competencies-list-item.js b/packages/frontend/tests/pages/components/school-competencies-list-item.js
similarity index 100%
rename from tests/pages/components/school-competencies-list-item.js
rename to packages/frontend/tests/pages/components/school-competencies-list-item.js
diff --git a/tests/pages/components/school-competencies-list.js b/packages/frontend/tests/pages/components/school-competencies-list.js
similarity index 100%
rename from tests/pages/components/school-competencies-list.js
rename to packages/frontend/tests/pages/components/school-competencies-list.js
diff --git a/tests/pages/components/school-competencies-manager.js b/packages/frontend/tests/pages/components/school-competencies-manager.js
similarity index 100%
rename from tests/pages/components/school-competencies-manager.js
rename to packages/frontend/tests/pages/components/school-competencies-manager.js
diff --git a/tests/pages/components/school-competencies-pcrs-mapper.js b/packages/frontend/tests/pages/components/school-competencies-pcrs-mapper.js
similarity index 100%
rename from tests/pages/components/school-competencies-pcrs-mapper.js
rename to packages/frontend/tests/pages/components/school-competencies-pcrs-mapper.js
diff --git a/tests/pages/components/school-curriculum-inventory-institution-details.js b/packages/frontend/tests/pages/components/school-curriculum-inventory-institution-details.js
similarity index 100%
rename from tests/pages/components/school-curriculum-inventory-institution-details.js
rename to packages/frontend/tests/pages/components/school-curriculum-inventory-institution-details.js
diff --git a/tests/pages/components/school-curriculum-inventory-institution-manager.js b/packages/frontend/tests/pages/components/school-curriculum-inventory-institution-manager.js
similarity index 100%
rename from tests/pages/components/school-curriculum-inventory-institution-manager.js
rename to packages/frontend/tests/pages/components/school-curriculum-inventory-institution-manager.js
diff --git a/tests/pages/components/school-leadership-expanded.js b/packages/frontend/tests/pages/components/school-leadership-expanded.js
similarity index 100%
rename from tests/pages/components/school-leadership-expanded.js
rename to packages/frontend/tests/pages/components/school-leadership-expanded.js
diff --git a/tests/pages/components/school-list.js b/packages/frontend/tests/pages/components/school-list.js
similarity index 100%
rename from tests/pages/components/school-list.js
rename to packages/frontend/tests/pages/components/school-list.js
diff --git a/tests/pages/components/school-manager.js b/packages/frontend/tests/pages/components/school-manager.js
similarity index 100%
rename from tests/pages/components/school-manager.js
rename to packages/frontend/tests/pages/components/school-manager.js
diff --git a/tests/pages/components/school-new-vocabulary-form.js b/packages/frontend/tests/pages/components/school-new-vocabulary-form.js
similarity index 100%
rename from tests/pages/components/school-new-vocabulary-form.js
rename to packages/frontend/tests/pages/components/school-new-vocabulary-form.js
diff --git a/tests/pages/components/school-session-attributes-collapsed.js b/packages/frontend/tests/pages/components/school-session-attributes-collapsed.js
similarity index 100%
rename from tests/pages/components/school-session-attributes-collapsed.js
rename to packages/frontend/tests/pages/components/school-session-attributes-collapsed.js
diff --git a/tests/pages/components/school-session-attributes-expanded.js b/packages/frontend/tests/pages/components/school-session-attributes-expanded.js
similarity index 100%
rename from tests/pages/components/school-session-attributes-expanded.js
rename to packages/frontend/tests/pages/components/school-session-attributes-expanded.js
diff --git a/tests/pages/components/school-session-attributes-manager.js b/packages/frontend/tests/pages/components/school-session-attributes-manager.js
similarity index 100%
rename from tests/pages/components/school-session-attributes-manager.js
rename to packages/frontend/tests/pages/components/school-session-attributes-manager.js
diff --git a/tests/pages/components/school-session-attributes.js b/packages/frontend/tests/pages/components/school-session-attributes.js
similarity index 100%
rename from tests/pages/components/school-session-attributes.js
rename to packages/frontend/tests/pages/components/school-session-attributes.js
diff --git a/tests/pages/components/school-session-type-form.js b/packages/frontend/tests/pages/components/school-session-type-form.js
similarity index 100%
rename from tests/pages/components/school-session-type-form.js
rename to packages/frontend/tests/pages/components/school-session-type-form.js
diff --git a/tests/pages/components/school-session-type-manager.js b/packages/frontend/tests/pages/components/school-session-type-manager.js
similarity index 100%
rename from tests/pages/components/school-session-type-manager.js
rename to packages/frontend/tests/pages/components/school-session-type-manager.js
diff --git a/tests/pages/components/school-session-types-collapsed.js b/packages/frontend/tests/pages/components/school-session-types-collapsed.js
similarity index 100%
rename from tests/pages/components/school-session-types-collapsed.js
rename to packages/frontend/tests/pages/components/school-session-types-collapsed.js
diff --git a/tests/pages/components/school-session-types-expanded.js b/packages/frontend/tests/pages/components/school-session-types-expanded.js
similarity index 100%
rename from tests/pages/components/school-session-types-expanded.js
rename to packages/frontend/tests/pages/components/school-session-types-expanded.js
diff --git a/tests/pages/components/school-session-types-list-item.js b/packages/frontend/tests/pages/components/school-session-types-list-item.js
similarity index 100%
rename from tests/pages/components/school-session-types-list-item.js
rename to packages/frontend/tests/pages/components/school-session-types-list-item.js
diff --git a/tests/pages/components/school-session-types-list.js b/packages/frontend/tests/pages/components/school-session-types-list.js
similarity index 100%
rename from tests/pages/components/school-session-types-list.js
rename to packages/frontend/tests/pages/components/school-session-types-list.js
diff --git a/tests/pages/components/school-vocabularies-collapsed.js b/packages/frontend/tests/pages/components/school-vocabularies-collapsed.js
similarity index 100%
rename from tests/pages/components/school-vocabularies-collapsed.js
rename to packages/frontend/tests/pages/components/school-vocabularies-collapsed.js
diff --git a/tests/pages/components/school-vocabularies-expanded.js b/packages/frontend/tests/pages/components/school-vocabularies-expanded.js
similarity index 100%
rename from tests/pages/components/school-vocabularies-expanded.js
rename to packages/frontend/tests/pages/components/school-vocabularies-expanded.js
diff --git a/tests/pages/components/school-vocabularies-list.js b/packages/frontend/tests/pages/components/school-vocabularies-list.js
similarity index 100%
rename from tests/pages/components/school-vocabularies-list.js
rename to packages/frontend/tests/pages/components/school-vocabularies-list.js
diff --git a/tests/pages/components/school-vocabulary-manager.js b/packages/frontend/tests/pages/components/school-vocabulary-manager.js
similarity index 100%
rename from tests/pages/components/school-vocabulary-manager.js
rename to packages/frontend/tests/pages/components/school-vocabulary-manager.js
diff --git a/tests/pages/components/school-vocabulary-new-term.js b/packages/frontend/tests/pages/components/school-vocabulary-new-term.js
similarity index 100%
rename from tests/pages/components/school-vocabulary-new-term.js
rename to packages/frontend/tests/pages/components/school-vocabulary-new-term.js
diff --git a/tests/pages/components/school-vocabulary-term-manager.js b/packages/frontend/tests/pages/components/school-vocabulary-term-manager.js
similarity index 100%
rename from tests/pages/components/school-vocabulary-term-manager.js
rename to packages/frontend/tests/pages/components/school-vocabulary-term-manager.js
diff --git a/tests/pages/components/school/session-type-visualize-vocabularies.js b/packages/frontend/tests/pages/components/school/session-type-visualize-vocabularies.js
similarity index 100%
rename from tests/pages/components/school/session-type-visualize-vocabularies.js
rename to packages/frontend/tests/pages/components/school/session-type-visualize-vocabularies.js
diff --git a/tests/pages/components/school/session-type-visualize-vocabulary.js b/packages/frontend/tests/pages/components/school/session-type-visualize-vocabulary.js
similarity index 100%
rename from tests/pages/components/school/session-type-visualize-vocabulary.js
rename to packages/frontend/tests/pages/components/school/session-type-visualize-vocabulary.js
diff --git a/tests/pages/components/school/visualizer-session-type-vocabularies.js b/packages/frontend/tests/pages/components/school/visualizer-session-type-vocabularies.js
similarity index 100%
rename from tests/pages/components/school/visualizer-session-type-vocabularies.js
rename to packages/frontend/tests/pages/components/school/visualizer-session-type-vocabularies.js
diff --git a/tests/pages/components/school/visualizer-session-type-vocabulary.js b/packages/frontend/tests/pages/components/school/visualizer-session-type-vocabulary.js
similarity index 100%
rename from tests/pages/components/school/visualizer-session-type-vocabulary.js
rename to packages/frontend/tests/pages/components/school/visualizer-session-type-vocabulary.js
diff --git a/tests/pages/components/unassigned-students-summary.js b/packages/frontend/tests/pages/components/unassigned-students-summary.js
similarity index 100%
rename from tests/pages/components/unassigned-students-summary.js
rename to packages/frontend/tests/pages/components/unassigned-students-summary.js
diff --git a/tests/pages/components/user-list.js b/packages/frontend/tests/pages/components/user-list.js
similarity index 100%
rename from tests/pages/components/user-list.js
rename to packages/frontend/tests/pages/components/user-list.js
diff --git a/tests/pages/components/user-menu.js b/packages/frontend/tests/pages/components/user-menu.js
similarity index 100%
rename from tests/pages/components/user-menu.js
rename to packages/frontend/tests/pages/components/user-menu.js
diff --git a/tests/pages/components/user-profile-bio.js b/packages/frontend/tests/pages/components/user-profile-bio.js
similarity index 100%
rename from tests/pages/components/user-profile-bio.js
rename to packages/frontend/tests/pages/components/user-profile-bio.js
diff --git a/tests/pages/components/user-profile-calendar.js b/packages/frontend/tests/pages/components/user-profile-calendar.js
similarity index 100%
rename from tests/pages/components/user-profile-calendar.js
rename to packages/frontend/tests/pages/components/user-profile-calendar.js
diff --git a/tests/pages/components/user-profile-cohorts-details.js b/packages/frontend/tests/pages/components/user-profile-cohorts-details.js
similarity index 100%
rename from tests/pages/components/user-profile-cohorts-details.js
rename to packages/frontend/tests/pages/components/user-profile-cohorts-details.js
diff --git a/tests/pages/components/user-profile-cohorts-manager.js b/packages/frontend/tests/pages/components/user-profile-cohorts-manager.js
similarity index 100%
rename from tests/pages/components/user-profile-cohorts-manager.js
rename to packages/frontend/tests/pages/components/user-profile-cohorts-manager.js
diff --git a/tests/pages/components/user-profile-cohorts.js b/packages/frontend/tests/pages/components/user-profile-cohorts.js
similarity index 100%
rename from tests/pages/components/user-profile-cohorts.js
rename to packages/frontend/tests/pages/components/user-profile-cohorts.js
diff --git a/tests/pages/components/user-profile-ics.js b/packages/frontend/tests/pages/components/user-profile-ics.js
similarity index 100%
rename from tests/pages/components/user-profile-ics.js
rename to packages/frontend/tests/pages/components/user-profile-ics.js
diff --git a/tests/pages/components/user-profile-permissions.js b/packages/frontend/tests/pages/components/user-profile-permissions.js
similarity index 100%
rename from tests/pages/components/user-profile-permissions.js
rename to packages/frontend/tests/pages/components/user-profile-permissions.js
diff --git a/tests/pages/components/user-profile-roles.js b/packages/frontend/tests/pages/components/user-profile-roles.js
similarity index 100%
rename from tests/pages/components/user-profile-roles.js
rename to packages/frontend/tests/pages/components/user-profile-roles.js
diff --git a/tests/pages/components/user-profile.js b/packages/frontend/tests/pages/components/user-profile.js
similarity index 100%
rename from tests/pages/components/user-profile.js
rename to packages/frontend/tests/pages/components/user-profile.js
diff --git a/tests/pages/components/user-profile/learner-groups.js b/packages/frontend/tests/pages/components/user-profile/learner-groups.js
similarity index 100%
rename from tests/pages/components/user-profile/learner-groups.js
rename to packages/frontend/tests/pages/components/user-profile/learner-groups.js
diff --git a/tests/pages/components/visualizer-program-year-objectives.js b/packages/frontend/tests/pages/components/visualizer-program-year-objectives.js
similarity index 100%
rename from tests/pages/components/visualizer-program-year-objectives.js
rename to packages/frontend/tests/pages/components/visualizer-program-year-objectives.js
diff --git a/tests/pages/components/yes-no.js b/packages/frontend/tests/pages/components/yes-no.js
similarity index 100%
rename from tests/pages/components/yes-no.js
rename to packages/frontend/tests/pages/components/yes-no.js
diff --git a/tests/pages/courses.js b/packages/frontend/tests/pages/courses.js
similarity index 100%
rename from tests/pages/courses.js
rename to packages/frontend/tests/pages/courses.js
diff --git a/tests/pages/curriculum-inventory-report-rollover.js b/packages/frontend/tests/pages/curriculum-inventory-report-rollover.js
similarity index 100%
rename from tests/pages/curriculum-inventory-report-rollover.js
rename to packages/frontend/tests/pages/curriculum-inventory-report-rollover.js
diff --git a/tests/pages/curriculum-inventory-report.js b/packages/frontend/tests/pages/curriculum-inventory-report.js
similarity index 100%
rename from tests/pages/curriculum-inventory-report.js
rename to packages/frontend/tests/pages/curriculum-inventory-report.js
diff --git a/tests/pages/curriculum-inventory-reports.js b/packages/frontend/tests/pages/curriculum-inventory-reports.js
similarity index 100%
rename from tests/pages/curriculum-inventory-reports.js
rename to packages/frontend/tests/pages/curriculum-inventory-reports.js
diff --git a/tests/pages/curriculum-inventory-sequence-block.js b/packages/frontend/tests/pages/curriculum-inventory-sequence-block.js
similarity index 100%
rename from tests/pages/curriculum-inventory-sequence-block.js
rename to packages/frontend/tests/pages/curriculum-inventory-sequence-block.js
diff --git a/tests/pages/dashboard.js b/packages/frontend/tests/pages/dashboard.js
similarity index 100%
rename from tests/pages/dashboard.js
rename to packages/frontend/tests/pages/dashboard.js
diff --git a/tests/pages/instructor-group.js b/packages/frontend/tests/pages/instructor-group.js
similarity index 100%
rename from tests/pages/instructor-group.js
rename to packages/frontend/tests/pages/instructor-group.js
diff --git a/tests/pages/instructor-groups.js b/packages/frontend/tests/pages/instructor-groups.js
similarity index 100%
rename from tests/pages/instructor-groups.js
rename to packages/frontend/tests/pages/instructor-groups.js
diff --git a/tests/pages/learner-group.js b/packages/frontend/tests/pages/learner-group.js
similarity index 100%
rename from tests/pages/learner-group.js
rename to packages/frontend/tests/pages/learner-group.js
diff --git a/tests/pages/learner-groups.js b/packages/frontend/tests/pages/learner-groups.js
similarity index 100%
rename from tests/pages/learner-groups.js
rename to packages/frontend/tests/pages/learner-groups.js
diff --git a/tests/pages/pending-user-updates.js b/packages/frontend/tests/pages/pending-user-updates.js
similarity index 100%
rename from tests/pages/pending-user-updates.js
rename to packages/frontend/tests/pages/pending-user-updates.js
diff --git a/tests/pages/program-year.js b/packages/frontend/tests/pages/program-year.js
similarity index 100%
rename from tests/pages/program-year.js
rename to packages/frontend/tests/pages/program-year.js
diff --git a/tests/pages/program.js b/packages/frontend/tests/pages/program.js
similarity index 100%
rename from tests/pages/program.js
rename to packages/frontend/tests/pages/program.js
diff --git a/tests/pages/programs.js b/packages/frontend/tests/pages/programs.js
similarity index 100%
rename from tests/pages/programs.js
rename to packages/frontend/tests/pages/programs.js
diff --git a/tests/pages/reports-subject.js b/packages/frontend/tests/pages/reports-subject.js
similarity index 100%
rename from tests/pages/reports-subject.js
rename to packages/frontend/tests/pages/reports-subject.js
diff --git a/tests/pages/reports.js b/packages/frontend/tests/pages/reports.js
similarity index 100%
rename from tests/pages/reports.js
rename to packages/frontend/tests/pages/reports.js
diff --git a/tests/pages/school.js b/packages/frontend/tests/pages/school.js
similarity index 100%
rename from tests/pages/school.js
rename to packages/frontend/tests/pages/school.js
diff --git a/tests/pages/search.js b/packages/frontend/tests/pages/search.js
similarity index 100%
rename from tests/pages/search.js
rename to packages/frontend/tests/pages/search.js
diff --git a/tests/pages/user.js b/packages/frontend/tests/pages/user.js
similarity index 100%
rename from tests/pages/user.js
rename to packages/frontend/tests/pages/user.js
diff --git a/tests/pages/users.js b/packages/frontend/tests/pages/users.js
similarity index 100%
rename from tests/pages/users.js
rename to packages/frontend/tests/pages/users.js
diff --git a/tests/test-helper.js b/packages/frontend/tests/test-helper.js
similarity index 100%
rename from tests/test-helper.js
rename to packages/frontend/tests/test-helper.js
diff --git a/tests/unit/adapters/application-test.js b/packages/frontend/tests/unit/adapters/application-test.js
similarity index 100%
rename from tests/unit/adapters/application-test.js
rename to packages/frontend/tests/unit/adapters/application-test.js
diff --git a/tests/unit/controllers/admin-dashboard-test.js b/packages/frontend/tests/unit/controllers/admin-dashboard-test.js
similarity index 100%
rename from tests/unit/controllers/admin-dashboard-test.js
rename to packages/frontend/tests/unit/controllers/admin-dashboard-test.js
diff --git a/tests/unit/controllers/application-test.js b/packages/frontend/tests/unit/controllers/application-test.js
similarity index 100%
rename from tests/unit/controllers/application-test.js
rename to packages/frontend/tests/unit/controllers/application-test.js
diff --git a/tests/unit/controllers/assign-students-test.js b/packages/frontend/tests/unit/controllers/assign-students-test.js
similarity index 100%
rename from tests/unit/controllers/assign-students-test.js
rename to packages/frontend/tests/unit/controllers/assign-students-test.js
diff --git a/tests/unit/controllers/courses-test.js b/packages/frontend/tests/unit/controllers/courses-test.js
similarity index 100%
rename from tests/unit/controllers/courses-test.js
rename to packages/frontend/tests/unit/controllers/courses-test.js
diff --git a/tests/unit/controllers/curriculum-inventory-report/index-test.js b/packages/frontend/tests/unit/controllers/curriculum-inventory-report/index-test.js
similarity index 100%
rename from tests/unit/controllers/curriculum-inventory-report/index-test.js
rename to packages/frontend/tests/unit/controllers/curriculum-inventory-report/index-test.js
diff --git a/tests/unit/controllers/curriculum-inventory-report/rollover-test.js b/packages/frontend/tests/unit/controllers/curriculum-inventory-report/rollover-test.js
similarity index 100%
rename from tests/unit/controllers/curriculum-inventory-report/rollover-test.js
rename to packages/frontend/tests/unit/controllers/curriculum-inventory-report/rollover-test.js
diff --git a/tests/unit/controllers/curriculum-inventory-reports-test.js b/packages/frontend/tests/unit/controllers/curriculum-inventory-reports-test.js
similarity index 100%
rename from tests/unit/controllers/curriculum-inventory-reports-test.js
rename to packages/frontend/tests/unit/controllers/curriculum-inventory-reports-test.js
diff --git a/tests/unit/controllers/curriculum-inventory-sequence-block-test.js b/packages/frontend/tests/unit/controllers/curriculum-inventory-sequence-block-test.js
similarity index 100%
rename from tests/unit/controllers/curriculum-inventory-sequence-block-test.js
rename to packages/frontend/tests/unit/controllers/curriculum-inventory-sequence-block-test.js
diff --git a/tests/unit/controllers/instructor-groups-test.js b/packages/frontend/tests/unit/controllers/instructor-groups-test.js
similarity index 100%
rename from tests/unit/controllers/instructor-groups-test.js
rename to packages/frontend/tests/unit/controllers/instructor-groups-test.js
diff --git a/tests/unit/controllers/learner-group-test.js b/packages/frontend/tests/unit/controllers/learner-group-test.js
similarity index 100%
rename from tests/unit/controllers/learner-group-test.js
rename to packages/frontend/tests/unit/controllers/learner-group-test.js
diff --git a/tests/unit/controllers/learner-groups-test.js b/packages/frontend/tests/unit/controllers/learner-groups-test.js
similarity index 100%
rename from tests/unit/controllers/learner-groups-test.js
rename to packages/frontend/tests/unit/controllers/learner-groups-test.js
diff --git a/tests/unit/controllers/pending-user-updates-test.js b/packages/frontend/tests/unit/controllers/pending-user-updates-test.js
similarity index 100%
rename from tests/unit/controllers/pending-user-updates-test.js
rename to packages/frontend/tests/unit/controllers/pending-user-updates-test.js
diff --git a/tests/unit/controllers/program-test.js b/packages/frontend/tests/unit/controllers/program-test.js
similarity index 100%
rename from tests/unit/controllers/program-test.js
rename to packages/frontend/tests/unit/controllers/program-test.js
diff --git a/tests/unit/controllers/reports-test.js b/packages/frontend/tests/unit/controllers/reports-test.js
similarity index 100%
rename from tests/unit/controllers/reports-test.js
rename to packages/frontend/tests/unit/controllers/reports-test.js
diff --git a/tests/unit/controllers/reports/subject.js b/packages/frontend/tests/unit/controllers/reports/subject.js
similarity index 100%
rename from tests/unit/controllers/reports/subject.js
rename to packages/frontend/tests/unit/controllers/reports/subject.js
diff --git a/tests/unit/controllers/school-test.js b/packages/frontend/tests/unit/controllers/school-test.js
similarity index 100%
rename from tests/unit/controllers/school-test.js
rename to packages/frontend/tests/unit/controllers/school-test.js
diff --git a/tests/unit/controllers/search-test.js b/packages/frontend/tests/unit/controllers/search-test.js
similarity index 100%
rename from tests/unit/controllers/search-test.js
rename to packages/frontend/tests/unit/controllers/search-test.js
diff --git a/tests/unit/controllers/user-test.js b/packages/frontend/tests/unit/controllers/user-test.js
similarity index 100%
rename from tests/unit/controllers/user-test.js
rename to packages/frontend/tests/unit/controllers/user-test.js
diff --git a/tests/unit/initializers/inflector-test.js b/packages/frontend/tests/unit/initializers/inflector-test.js
similarity index 100%
rename from tests/unit/initializers/inflector-test.js
rename to packages/frontend/tests/unit/initializers/inflector-test.js
diff --git a/tests/unit/initializers/metrics-imports-test.js b/packages/frontend/tests/unit/initializers/metrics-imports-test.js
similarity index 100%
rename from tests/unit/initializers/metrics-imports-test.js
rename to packages/frontend/tests/unit/initializers/metrics-imports-test.js
diff --git a/tests/unit/mixins/live-search-item-test.js b/packages/frontend/tests/unit/mixins/live-search-item-test.js
similarity index 100%
rename from tests/unit/mixins/live-search-item-test.js
rename to packages/frontend/tests/unit/mixins/live-search-item-test.js
diff --git a/tests/unit/services/data-loader-test.js b/packages/frontend/tests/unit/services/data-loader-test.js
similarity index 100%
rename from tests/unit/services/data-loader-test.js
rename to packages/frontend/tests/unit/services/data-loader-test.js
diff --git a/tests/unit/services/graphql-test.js b/packages/frontend/tests/unit/services/graphql-test.js
similarity index 100%
rename from tests/unit/services/graphql-test.js
rename to packages/frontend/tests/unit/services/graphql-test.js
diff --git a/tests/unit/services/ilios-metrics-test.js b/packages/frontend/tests/unit/services/ilios-metrics-test.js
similarity index 100%
rename from tests/unit/services/ilios-metrics-test.js
rename to packages/frontend/tests/unit/services/ilios-metrics-test.js
diff --git a/tests/unit/services/reporting-test.js b/packages/frontend/tests/unit/services/reporting-test.js
similarity index 100%
rename from tests/unit/services/reporting-test.js
rename to packages/frontend/tests/unit/services/reporting-test.js
diff --git a/tests/unit/services/session-test.js b/packages/frontend/tests/unit/services/session-test.js
similarity index 100%
rename from tests/unit/services/session-test.js
rename to packages/frontend/tests/unit/services/session-test.js
diff --git a/tests/unit/services/user-events-test.js b/packages/frontend/tests/unit/services/user-events-test.js
similarity index 100%
rename from tests/unit/services/user-events-test.js
rename to packages/frontend/tests/unit/services/user-events-test.js
diff --git a/tests/unit/utils/clone-learner-group-test.js b/packages/frontend/tests/unit/utils/clone-learner-group-test.js
similarity index 100%
rename from tests/unit/utils/clone-learner-group-test.js
rename to packages/frontend/tests/unit/utils/clone-learner-group-test.js
diff --git a/tests/unit/utils/count-digits-test.js b/packages/frontend/tests/unit/utils/count-digits-test.js
similarity index 100%
rename from tests/unit/utils/count-digits-test.js
rename to packages/frontend/tests/unit/utils/count-digits-test.js
diff --git a/tests/unit/utils/launch-worker-test.js b/packages/frontend/tests/unit/utils/launch-worker-test.js
similarity index 100%
rename from tests/unit/utils/launch-worker-test.js
rename to packages/frontend/tests/unit/utils/launch-worker-test.js
diff --git a/tests/unit/utils/pcrs-uri-to-number-test.js b/packages/frontend/tests/unit/utils/pcrs-uri-to-number-test.js
similarity index 100%
rename from tests/unit/utils/pcrs-uri-to-number-test.js
rename to packages/frontend/tests/unit/utils/pcrs-uri-to-number-test.js
diff --git a/tests/unit/utils/random-string-test.js b/packages/frontend/tests/unit/utils/random-string-test.js
similarity index 100%
rename from tests/unit/utils/random-string-test.js
rename to packages/frontend/tests/unit/utils/random-string-test.js
diff --git a/tests/unit/utils/readable-file-size-test.js b/packages/frontend/tests/unit/utils/readable-file-size-test.js
similarity index 100%
rename from tests/unit/utils/readable-file-size-test.js
rename to packages/frontend/tests/unit/utils/readable-file-size-test.js
diff --git a/tests/unit/utils/sort-cohorts-test.js b/packages/frontend/tests/unit/utils/sort-cohorts-test.js
similarity index 100%
rename from tests/unit/utils/sort-cohorts-test.js
rename to packages/frontend/tests/unit/utils/sort-cohorts-test.js
diff --git a/translations/en-us.yaml b/packages/frontend/translations/en-us.yaml
similarity index 100%
rename from translations/en-us.yaml
rename to packages/frontend/translations/en-us.yaml
diff --git a/translations/es.yaml b/packages/frontend/translations/es.yaml
similarity index 100%
rename from translations/es.yaml
rename to packages/frontend/translations/es.yaml
diff --git a/translations/fr.yaml b/packages/frontend/translations/fr.yaml
similarity index 100%
rename from translations/fr.yaml
rename to packages/frontend/translations/fr.yaml
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 37f34adc70..a0c97dbfda 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,339 +4,380 @@ settings:
   autoInstallPeers: true
   excludeLinksFromLockfile: false
 
-dependencies:
-  ember-auto-import:
-    specifier: ^2.6.3
-    version: 2.7.2(webpack@5.90.0)
-  moment:
-    specifier: ^2.30.1
-    version: 2.30.1
-  moment-timezone:
-    specifier: ^0.5.42
-    version: 0.5.44
-
-devDependencies:
-  '@babel/core':
-    specifier: ^7.22.20
-    version: 7.23.9(supports-color@8.1.1)
-  '@babel/eslint-parser':
-    specifier: 7.23.3
-    version: 7.23.3(@babel/core@7.23.9)(eslint@8.56.0)
-  '@babel/plugin-proposal-decorators':
-    specifier: ^7.22.15
-    version: 7.23.9(@babel/core@7.23.9)
-  '@ember/edition-utils':
-    specifier: ^1.2.0
-    version: 1.2.0
-  '@ember/optional-features':
-    specifier: ^2.0.0
-    version: 2.0.0
-  '@ember/string':
-    specifier: ^3.1.1
-    version: 3.1.1
-  '@ember/test-helpers':
-    specifier: ^3.2.0
-    version: 3.2.1(ember-source@5.3.0)(webpack@5.90.0)
-  '@embroider/compat':
-    specifier: ~3.4.4
-    version: 3.4.4(@embroider/core@3.4.4)
-  '@embroider/core':
-    specifier: ~3.4.4
-    version: 3.4.4
-  '@embroider/macros':
-    specifier: ^1.13.5
-    version: 1.13.5
-  '@embroider/router':
-    specifier: ^2.1.6
-    version: 2.1.6(@embroider/core@3.4.4)
-  '@embroider/webpack':
-    specifier: ~3.2.2
-    version: 3.2.2(@embroider/core@3.4.4)(webpack@5.90.0)
-  '@glimmer/component':
-    specifier: ^1.1.2
-    version: 1.1.2(@babel/core@7.23.9)
-  '@glimmer/tracking':
-    specifier: ^1.1.2
-    version: 1.1.2
-  '@ilios/ember-template-lint-plugin':
-    specifier: ^3.0.0
-    version: 3.0.0
-  '@percy/cli':
-    specifier: ^1.27.7
-    version: 1.27.7
-  '@percy/ember':
-    specifier: ^4.2.0
-    version: 4.2.0
-  '@sentry/ember':
-    specifier: 7.99.0
-    version: 7.99.0(webpack@5.90.0)
-  broccoli-asset-rev:
-    specifier: ^3.0.0
-    version: 3.0.0
-  broccoli-file-creator:
-    specifier: ^2.1.1
-    version: 2.1.1
-  broccoli-merge-trees:
-    specifier: ^4.2.0
-    version: 4.2.0
-  browserslist:
-    specifier: ^4.22.1
-    version: 4.22.3
-  caniuse-db:
-    specifier: ^1.0.30001583
-    version: 1.0.30001583
-  class-validator:
-    specifier: ^0.14.0
-    version: 0.14.1
-  concurrently:
-    specifier: ^8.2.1
-    version: 8.2.2
-  ember-a11y-refocus:
-    specifier: 3.0.2
-    version: 3.0.2
-  ember-a11y-testing:
-    specifier: ^6.1.1
-    version: 6.1.1(@babel/core@7.23.9)(@ember/test-helpers@3.2.1)(qunit@2.20.0)(webpack@5.90.0)
-  ember-ajax:
-    specifier: ^5.1.2
-    version: 5.1.2
-  ember-async-data:
-    specifier: ^1.0.3
-    version: 1.0.3(ember-source@5.3.0)
-  ember-cli:
-    specifier: ~5.3.0
-    version: 5.3.0
-  ember-cli-app-version:
-    specifier: ^6.0.1
-    version: 6.0.1(ember-source@5.3.0)
-  ember-cli-babel:
-    specifier: ^8.0.0
-    version: 8.2.0(@babel/core@7.23.9)
-  ember-cli-browserstack:
-    specifier: ^3.0.0
-    version: 3.0.0
-  ember-cli-bundle-analyzer:
-    specifier: ^1.0.0
-    version: 1.0.0
-  ember-cli-clean-css:
-    specifier: ^3.0.0
-    version: 3.0.0
-  ember-cli-code-coverage:
-    specifier: ^v2.0.3
-    version: 2.0.3(@embroider/compat@3.4.4)(@embroider/core@3.4.4)
-  ember-cli-dependency-checker:
-    specifier: ^3.3.2
-    version: 3.3.2(ember-cli@5.3.0)
-  ember-cli-dependency-lint:
-    specifier: 2.0.1
-    version: 2.0.1
-  ember-cli-deploy:
-    specifier: 2.0.0
-    version: 2.0.0
-  ember-cli-deploy-archive:
-    specifier: 1.0.0
-    version: 1.0.0
-  ember-cli-deploy-brotli:
-    specifier: ^0.4.0
-    version: 0.4.0
-  ember-cli-deploy-build:
-    specifier: 3.0.0
-    version: 3.0.0(@babel/core@7.23.9)(eslint@8.56.0)
-  ember-cli-deploy-cloudfront:
-    specifier: ^5.0.0
-    version: 5.0.0
-  ember-cli-deploy-display-revisions:
-    specifier: 3.0.0
-    version: 3.0.0
-  ember-cli-deploy-gzip:
-    specifier: ^3.0.0
-    version: 3.0.0(@babel/core@7.23.9)(eslint@8.56.0)
-  ember-cli-deploy-json-config:
-    specifier: 1.0.1
-    version: 1.0.1
-  ember-cli-deploy-revision-data:
-    specifier: 3.0.0
-    version: 3.0.0
-  ember-cli-deploy-s3-index:
-    specifier: 3.0.0
-    version: 3.0.0
-  ember-cli-deprecation-workflow:
-    specifier: 2.2.0
-    version: 2.2.0
-  ember-cli-htmlbars:
-    specifier: ^6.3.0
-    version: 6.3.0
-  ember-cli-image-transformer:
-    specifier: ^7.0.0
-    version: 7.0.0(ember-source@5.3.0)
-  ember-cli-inject-live-reload:
-    specifier: ^2.1.0
-    version: 2.1.0
-  ember-cli-mirage:
-    specifier: ^3.0.2
-    version: 3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.0)
-  ember-cli-new-version:
-    specifier: ^4.1.0
-    version: 4.1.0(@babel/core@7.23.9)
-  ember-cli-page-object:
-    specifier: ^2.2.1
-    version: 2.2.1(@ember/test-helpers@3.2.1)
-  ember-cli-sass:
-    specifier: ^11.0.1
-    version: 11.0.1
-  ember-cli-server-variables:
-    specifier: 3.0.0
-    version: 3.0.0
-  ember-cli-sri:
-    specifier: ^2.1.1
-    version: 2.1.1
-  ember-cli-terser:
-    specifier: ^4.0.2
-    version: 4.0.2
-  ember-focus-trap:
-    specifier: ^1.1.0
-    version: 1.1.0(ember-source@5.3.0)
-  ember-load-initializers:
-    specifier: ^2.1.2
-    version: 2.1.2(@babel/core@7.23.9)
-  ember-metrics:
-    specifier: 1.5.2
-    version: 1.5.2
-  ember-modifier:
-    specifier: ^4.1.0
-    version: 4.1.0(ember-source@5.3.0)
-  ember-moment:
-    specifier: ^10.0.0
-    version: 10.0.0(moment-timezone@0.5.44)(moment@2.30.1)
-  ember-noscript:
-    specifier: ^4.1.0
-    version: 4.1.0
-  ember-page-title:
-    specifier: ^8.0.0
-    version: 8.2.1(ember-source@5.3.0)
-  ember-qunit:
-    specifier: ^8.0.1
-    version: 8.0.2(@ember/test-helpers@3.2.1)(ember-source@5.3.0)(qunit@2.20.0)
-  ember-resolver:
-    specifier: ^11.0.1
-    version: 11.0.1(ember-source@5.3.0)
-  ember-responsive:
-    specifier: ^5.0.0
-    version: 5.0.0
-  ember-source:
-    specifier: ~5.3.0
-    version: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
-  ember-template-lint:
-    specifier: ^5.11.2
-    version: 5.13.0
-  ember-web-app:
-    specifier: ^5.0.0
-    version: 5.0.1
-  eslint:
-    specifier: ^8.49.0
-    version: 8.56.0
-  eslint-config-prettier:
-    specifier: ^9.0.0
-    version: 9.1.0(eslint@8.56.0)
-  eslint-plugin-ember:
-    specifier: ^11.11.1
-    version: 11.12.0(eslint@8.56.0)
-  eslint-plugin-n:
-    specifier: ^16.1.0
-    version: 16.6.2(eslint@8.56.0)
-  eslint-plugin-prettier:
-    specifier: ^5.0.0
-    version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.4)
-  eslint-plugin-qunit:
-    specifier: ^8.0.0
-    version: 8.0.1(eslint@8.56.0)
-  file-saver:
-    specifier: ^2.0.5
-    version: 2.0.5
-  ilios-common:
-    specifier: ^87.1.0
-    version: 87.1.0(@ember/test-helpers@3.2.1)(@popperjs/core@2.11.8)(class-validator@0.14.1)(ember-qunit@8.0.2)(ember-source@5.3.0)(flatpickr@4.6.13)(froala-editor@4.1.4)(luxon@3.4.4)(miragejs@0.1.48)(mockdate@3.0.5)(moment-timezone@0.5.44)(moment@2.30.1)(query-string@8.1.0)(scroll-into-view@1.16.2)(striptags@3.2.0)(tracked-built-ins@3.3.0)(typeface-nunito-sans@1.1.13)(typeface-nunito@1.1.13)(validator@13.11.0)(webpack@5.90.0)
-  loader.js:
-    specifier: ^4.7.0
-    version: 4.7.0
-  luxon:
-    specifier: ^3.4.4
-    version: 3.4.4
-  miragejs:
-    specifier: ^0.1.48
-    version: 0.1.48
-  mockdate:
-    specifier: ^3.0.5
-    version: 3.0.5
-  pad:
-    specifier: ^3.2.0
-    version: 3.2.0
-  papaparse:
-    specifier: ^5.4.1
-    version: 5.4.1
-  pre-commit:
-    specifier: ^1.2.2
-    version: 1.2.2
-  prettier:
-    specifier: ^3.0.3
-    version: 3.2.4
-  query-string:
-    specifier: ^8.1.0
-    version: 8.1.0
-  qunit:
-    specifier: ^2.19.4
-    version: 2.20.0
-  qunit-dom:
-    specifier: ^2.0.0
-    version: 2.0.0
-  sass:
-    specifier: ^1.70.0
-    version: 1.70.0
-  scroll-into-view:
-    specifier: ^1.16.2
-    version: 1.16.2
-  striptags:
-    specifier: ^3.2.0
-    version: 3.2.0
-  stylelint:
-    specifier: ^15.10.3
-    version: 15.11.0
-  stylelint-config-recommended-scss:
-    specifier: ^13.1.0
-    version: 13.1.0(postcss@8.4.33)(stylelint@15.11.0)
-  stylelint-config-standard:
-    specifier: ^34.0.0
-    version: 34.0.0(stylelint@15.11.0)
-  stylelint-prettier:
-    specifier: ^4.0.2
-    version: 4.1.0(prettier@3.2.4)(stylelint@15.11.0)
-  stylelint-scss:
-    specifier: ^5.3.2
-    version: 5.3.2(stylelint@15.11.0)
-  terser-webpack-plugin:
-    specifier: ^5.3.9
-    version: 5.3.10(webpack@5.90.0)
-  testem-failure-only-reporter:
-    specifier: ^1.0.0
-    version: 1.0.0
-  tracked-built-ins:
-    specifier: ^3.2.0
-    version: 3.3.0
-  validator:
-    specifier: ^13.11.0
-    version: 13.11.0
-  webpack:
-    specifier: ^5.88.2
-    version: 5.90.0
-  webpack-bundle-analyzer:
-    specifier: ^4.10.1
-    version: 4.10.1
-  webpack-retry-chunk-load-plugin:
-    specifier: ^3.0.0
-    version: 3.1.1(webpack@5.90.0)
-  zxcvbn:
-    specifier: ^4.4.2
-    version: 4.4.2
+importers:
+
+  .:
+    devDependencies:
+      concurrently:
+        specifier: ^8.2.0
+        version: 8.2.2
+      ember-template-lint:
+        specifier: ^5.13.0
+        version: 5.13.0
+      eslint:
+        specifier: ^8.55.0
+        version: 8.56.0
+      eslint-config-prettier:
+        specifier: ^9.1.0
+        version: 9.1.0(eslint@8.56.0)
+      eslint-plugin-ember:
+        specifier: ^11.11.1
+        version: 11.12.0(eslint@8.56.0)
+      eslint-plugin-n:
+        specifier: ^16.4.0
+        version: 16.6.2(eslint@8.56.0)
+      eslint-plugin-prettier:
+        specifier: ^5.0.1
+        version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.4)
+      eslint-plugin-qunit:
+        specifier: ^8.0.1
+        version: 8.0.1(eslint@8.56.0)
+      prettier:
+        specifier: ^3.1.1
+        version: 3.2.4
+      stylelint:
+        specifier: ^15.11.0
+        version: 15.11.0
+      stylelint-config-recommended-scss:
+        specifier: ^13.0.0
+        version: 13.1.0(postcss@8.4.33)(stylelint@15.11.0)
+      stylelint-config-standard:
+        specifier: ^34.0.0
+        version: 34.0.0(stylelint@15.11.0)
+      stylelint-prettier:
+        specifier: ^4.1.0
+        version: 4.1.0(prettier@3.2.4)(stylelint@15.11.0)
+      stylelint-scss:
+        specifier: ^5.0.0
+        version: 5.3.2(stylelint@15.11.0)
+
+  packages/frontend:
+    dependencies:
+      ember-auto-import:
+        specifier: ^2.6.3
+        version: 2.7.2(webpack@5.90.1)
+      moment:
+        specifier: ^2.30.1
+        version: 2.30.1
+      moment-timezone:
+        specifier: ^0.5.42
+        version: 0.5.44
+    devDependencies:
+      '@babel/core':
+        specifier: ^7.22.20
+        version: 7.23.9(supports-color@8.1.1)
+      '@babel/eslint-parser':
+        specifier: 7.23.3
+        version: 7.23.3(@babel/core@7.23.9)(eslint@8.56.0)
+      '@babel/plugin-proposal-decorators':
+        specifier: ^7.22.15
+        version: 7.23.9(@babel/core@7.23.9)
+      '@ember/edition-utils':
+        specifier: ^1.2.0
+        version: 1.2.0
+      '@ember/optional-features':
+        specifier: ^2.0.0
+        version: 2.0.0
+      '@ember/string':
+        specifier: ^3.1.1
+        version: 3.1.1
+      '@ember/test-helpers':
+        specifier: ^3.2.0
+        version: 3.2.1(ember-source@5.3.0)(webpack@5.90.1)
+      '@embroider/compat':
+        specifier: ~3.4.4
+        version: 3.4.4(@embroider/core@3.4.4)
+      '@embroider/core':
+        specifier: ~3.4.4
+        version: 3.4.4
+      '@embroider/macros':
+        specifier: ^1.13.5
+        version: 1.13.5
+      '@embroider/router':
+        specifier: ^2.1.6
+        version: 2.1.6(@embroider/core@3.4.4)
+      '@embroider/webpack':
+        specifier: ~3.2.2
+        version: 3.2.2(@embroider/core@3.4.4)(webpack@5.90.1)
+      '@glimmer/component':
+        specifier: ^1.1.2
+        version: 1.1.2(@babel/core@7.23.9)
+      '@glimmer/tracking':
+        specifier: ^1.1.2
+        version: 1.1.2
+      '@percy/cli':
+        specifier: ^1.27.7
+        version: 1.27.7
+      '@percy/ember':
+        specifier: ^4.2.0
+        version: 4.2.0
+      '@sentry/ember':
+        specifier: 7.99.0
+        version: 7.99.0(webpack@5.90.1)
+      broccoli-asset-rev:
+        specifier: ^3.0.0
+        version: 3.0.0
+      broccoli-file-creator:
+        specifier: ^2.1.1
+        version: 2.1.1
+      broccoli-merge-trees:
+        specifier: ^4.2.0
+        version: 4.2.0
+      browserslist:
+        specifier: ^4.22.1
+        version: 4.22.3
+      caniuse-db:
+        specifier: ^1.0.30001583
+        version: 1.0.30001583
+      class-validator:
+        specifier: ^0.14.0
+        version: 0.14.1
+      concurrently:
+        specifier: ^8.2.1
+        version: 8.2.2
+      ember-a11y-refocus:
+        specifier: 3.0.2
+        version: 3.0.2
+      ember-a11y-testing:
+        specifier: ^6.1.1
+        version: 6.1.1(@babel/core@7.23.9)(@ember/test-helpers@3.2.1)(qunit@2.20.0)(webpack@5.90.1)
+      ember-ajax:
+        specifier: ^5.1.2
+        version: 5.1.2
+      ember-async-data:
+        specifier: ^1.0.3
+        version: 1.0.3(ember-source@5.3.0)
+      ember-cli:
+        specifier: ~5.3.0
+        version: 5.3.0
+      ember-cli-app-version:
+        specifier: ^6.0.1
+        version: 6.0.1(ember-source@5.3.0)
+      ember-cli-babel:
+        specifier: ^8.0.0
+        version: 8.2.0(@babel/core@7.23.9)
+      ember-cli-browserstack:
+        specifier: ^3.0.0
+        version: 3.0.0
+      ember-cli-bundle-analyzer:
+        specifier: ^1.0.0
+        version: 1.0.0
+      ember-cli-clean-css:
+        specifier: ^3.0.0
+        version: 3.0.0
+      ember-cli-code-coverage:
+        specifier: ^v2.0.3
+        version: 2.0.3(@embroider/compat@3.4.4)(@embroider/core@3.4.4)
+      ember-cli-dependency-checker:
+        specifier: ^3.3.2
+        version: 3.3.2(ember-cli@5.3.0)
+      ember-cli-dependency-lint:
+        specifier: 2.0.1
+        version: 2.0.1
+      ember-cli-deploy:
+        specifier: 2.0.0
+        version: 2.0.0
+      ember-cli-deploy-archive:
+        specifier: 1.0.0
+        version: 1.0.0
+      ember-cli-deploy-brotli:
+        specifier: ^0.4.0
+        version: 0.4.0
+      ember-cli-deploy-build:
+        specifier: 3.0.0
+        version: 3.0.0(@babel/core@7.23.9)(eslint@8.56.0)
+      ember-cli-deploy-cloudfront:
+        specifier: ^5.0.0
+        version: 5.0.0
+      ember-cli-deploy-display-revisions:
+        specifier: 3.0.0
+        version: 3.0.0
+      ember-cli-deploy-gzip:
+        specifier: ^3.0.0
+        version: 3.0.0(@babel/core@7.23.9)(eslint@8.56.0)
+      ember-cli-deploy-json-config:
+        specifier: 1.0.1
+        version: 1.0.1
+      ember-cli-deploy-revision-data:
+        specifier: 3.0.0
+        version: 3.0.0
+      ember-cli-deploy-s3-index:
+        specifier: 3.0.0
+        version: 3.0.0
+      ember-cli-deprecation-workflow:
+        specifier: 2.2.0
+        version: 2.2.0
+      ember-cli-htmlbars:
+        specifier: ^6.3.0
+        version: 6.3.0
+      ember-cli-image-transformer:
+        specifier: ^7.0.0
+        version: 7.0.0(ember-source@5.3.0)
+      ember-cli-inject-live-reload:
+        specifier: ^2.1.0
+        version: 2.1.0
+      ember-cli-mirage:
+        specifier: ^3.0.2
+        version: 3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.1)
+      ember-cli-new-version:
+        specifier: ^4.1.0
+        version: 4.1.0(@babel/core@7.23.9)
+      ember-cli-page-object:
+        specifier: ^2.2.1
+        version: 2.2.1(@ember/test-helpers@3.2.1)
+      ember-cli-sass:
+        specifier: ^11.0.1
+        version: 11.0.1
+      ember-cli-server-variables:
+        specifier: 3.0.0
+        version: 3.0.0
+      ember-cli-sri:
+        specifier: ^2.1.1
+        version: 2.1.1
+      ember-cli-terser:
+        specifier: ^4.0.2
+        version: 4.0.2
+      ember-focus-trap:
+        specifier: ^1.1.0
+        version: 1.1.0(ember-source@5.3.0)
+      ember-load-initializers:
+        specifier: ^2.1.2
+        version: 2.1.2(@babel/core@7.23.9)
+      ember-metrics:
+        specifier: 1.5.2
+        version: 1.5.2
+      ember-modifier:
+        specifier: ^4.1.0
+        version: 4.1.0(ember-source@5.3.0)
+      ember-moment:
+        specifier: ^10.0.0
+        version: 10.0.0(moment-timezone@0.5.44)(moment@2.30.1)
+      ember-noscript:
+        specifier: ^4.1.0
+        version: 4.1.0
+      ember-page-title:
+        specifier: ^8.0.0
+        version: 8.2.1(ember-source@5.3.0)
+      ember-qunit:
+        specifier: ^8.0.1
+        version: 8.0.2(@ember/test-helpers@3.2.1)(ember-source@5.3.0)(qunit@2.20.0)
+      ember-resolver:
+        specifier: ^11.0.1
+        version: 11.0.1(ember-source@5.3.0)
+      ember-responsive:
+        specifier: ^5.0.0
+        version: 5.0.0
+      ember-source:
+        specifier: ~5.3.0
+        version: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
+      ember-template-lint:
+        specifier: ^5.11.2
+        version: 5.13.0
+      ember-web-app:
+        specifier: ^5.0.0
+        version: 5.0.1
+      eslint:
+        specifier: ^8.49.0
+        version: 8.56.0
+      eslint-config-prettier:
+        specifier: ^9.0.0
+        version: 9.1.0(eslint@8.56.0)
+      eslint-plugin-ember:
+        specifier: ^11.11.1
+        version: 11.12.0(eslint@8.56.0)
+      eslint-plugin-n:
+        specifier: ^16.1.0
+        version: 16.6.2(eslint@8.56.0)
+      eslint-plugin-prettier:
+        specifier: ^5.0.0
+        version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.4)
+      eslint-plugin-qunit:
+        specifier: ^8.0.0
+        version: 8.0.1(eslint@8.56.0)
+      file-saver:
+        specifier: ^2.0.5
+        version: 2.0.5
+      ilios-common:
+        specifier: ^87.1.0
+        version: 87.1.0(@ember/test-helpers@3.2.1)(@popperjs/core@2.11.8)(class-validator@0.14.1)(ember-qunit@8.0.2)(ember-source@5.3.0)(flatpickr@4.6.13)(froala-editor@4.1.4)(luxon@3.4.4)(miragejs@0.1.48)(mockdate@3.0.5)(moment-timezone@0.5.44)(moment@2.30.1)(query-string@8.1.0)(scroll-into-view@1.16.2)(striptags@3.2.0)(tracked-built-ins@3.3.0)(typeface-nunito-sans@1.1.13)(typeface-nunito@1.1.13)(validator@13.11.0)(webpack@5.90.1)
+      loader.js:
+        specifier: ^4.7.0
+        version: 4.7.0
+      luxon:
+        specifier: ^3.4.4
+        version: 3.4.4
+      miragejs:
+        specifier: ^0.1.48
+        version: 0.1.48
+      mockdate:
+        specifier: ^3.0.5
+        version: 3.0.5
+      pad:
+        specifier: ^3.2.0
+        version: 3.2.0
+      papaparse:
+        specifier: ^5.4.1
+        version: 5.4.1
+      prettier:
+        specifier: ^3.0.3
+        version: 3.2.4
+      query-string:
+        specifier: ^8.1.0
+        version: 8.1.0
+      qunit:
+        specifier: ^2.19.4
+        version: 2.20.0
+      qunit-dom:
+        specifier: ^2.0.0
+        version: 2.0.0
+      sass:
+        specifier: ^1.70.0
+        version: 1.70.0
+      scroll-into-view:
+        specifier: ^1.16.2
+        version: 1.16.2
+      striptags:
+        specifier: ^3.2.0
+        version: 3.2.0
+      stylelint:
+        specifier: ^15.10.3
+        version: 15.11.0
+      stylelint-config-recommended-scss:
+        specifier: ^13.1.0
+        version: 13.1.0(postcss@8.4.33)(stylelint@15.11.0)
+      stylelint-config-standard:
+        specifier: ^34.0.0
+        version: 34.0.0(stylelint@15.11.0)
+      stylelint-prettier:
+        specifier: ^4.0.2
+        version: 4.1.0(prettier@3.2.4)(stylelint@15.11.0)
+      stylelint-scss:
+        specifier: ^5.3.2
+        version: 5.3.2(stylelint@15.11.0)
+      terser-webpack-plugin:
+        specifier: ^5.3.9
+        version: 5.3.10(webpack@5.90.1)
+      testem-failure-only-reporter:
+        specifier: ^1.0.0
+        version: 1.0.0
+      tracked-built-ins:
+        specifier: ^3.2.0
+        version: 3.3.0
+      validator:
+        specifier: ^13.11.0
+        version: 13.11.0
+      webpack:
+        specifier: ^5.88.2
+        version: 5.90.1
+      webpack-bundle-analyzer:
+        specifier: ^4.10.1
+        version: 4.10.1
+      webpack-retry-chunk-load-plugin:
+        specifier: ^3.0.0
+        version: 3.1.1(webpack@5.90.1)
+      zxcvbn:
+        specifier: ^4.4.2
+        version: 4.4.2
 
 packages:
 
@@ -1638,9 +1679,9 @@ packages:
       '@ember/edition-utils': 1.2.0
       '@ember/string': 3.1.1
       '@embroider/macros': 1.13.5
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 8.2.0(@babel/core@7.23.9)
-      webpack: 5.90.0
+      webpack: 5.90.1
     transitivePeerDependencies:
       - '@glint/template'
       - '@swc/core'
@@ -1901,7 +1942,7 @@ packages:
       '@embroider/macros': 1.13.5
       ember-cli-babel: 7.26.11
       ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.23.9)
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - '@babel/core'
       - supports-color
@@ -1916,7 +1957,7 @@ packages:
       - supports-color
     dev: true
 
-  /@ember/test-helpers@3.2.1(ember-source@5.3.0)(webpack@5.90.0):
+  /@ember/test-helpers@3.2.1(ember-source@5.3.0)(webpack@5.90.1):
     resolution: {integrity: sha512-DvJSihJPV4xshwEgBrFN4aUVc9m/Y/hVzwcslfSVq/h3dMWCyAj4+agkkdJPQrwBaE+H4IyGNzr555S7bTErEA==}
     engines: {node: 16.* || >= 18}
     peerDependencies:
@@ -1927,10 +1968,10 @@ packages:
       '@simple-dom/interface': 1.4.0
       broccoli-debug: 0.6.5
       broccoli-funnel: 3.0.8
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-cli-htmlbars: 6.3.0
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - '@glint/template'
       - supports-color
@@ -1968,7 +2009,7 @@ packages:
       - supports-color
     dev: true
 
-  /@embroider/babel-loader-9@3.1.1(@embroider/core@3.4.4)(supports-color@8.1.1)(webpack@5.90.0):
+  /@embroider/babel-loader-9@3.1.1(@embroider/core@3.4.4)(supports-color@8.1.1)(webpack@5.90.1):
     resolution: {integrity: sha512-8mIDRXvwntYIQc2JFVvGXEppHUJRhw+6aEzHtbCZDr4oOKw55IyY+RHzas3JILRq64owLA+Ox0yu6nkwL1ApRQ==}
     engines: {node: 12.* || 14.* || >= 16}
     peerDependencies:
@@ -1976,7 +2017,7 @@ packages:
     dependencies:
       '@babel/core': 7.23.9(supports-color@8.1.1)
       '@embroider/core': 3.4.4
-      babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.90.0)
+      babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
       - webpack
@@ -2075,7 +2116,7 @@ packages:
       - utf-8-validate
     dev: true
 
-  /@embroider/hbs-loader@3.0.3(@embroider/core@3.4.4)(webpack@5.90.0):
+  /@embroider/hbs-loader@3.0.3(@embroider/core@3.4.4)(webpack@5.90.1):
     resolution: {integrity: sha512-sI2K3/III1WGGxS+aIf8uW5tgcNiE7APNhThn2ZTwqU47fK20Uz8TJZhst0GfNZFsCsmuQMRUikRJvQU8naSWA==}
     engines: {node: 12.* || 14.* || >= 16}
     peerDependencies:
@@ -2083,7 +2124,7 @@ packages:
       webpack: ^5
     dependencies:
       '@embroider/core': 3.4.4
-      webpack: 5.90.0
+      webpack: 5.90.1
     dev: true
 
   /@embroider/macros@1.13.5:
@@ -2148,22 +2189,6 @@ packages:
       typescript-memoize: 1.1.1
     dev: true
 
-  /@embroider/shared-internals@2.5.1:
-    resolution: {integrity: sha512-b+TWDBisH1p6HeTbJIO8pgu1WzfTP0ZSAlZBqjXwOyrS0ZxP1qNYRrEX+IxyzIibEFjXBxeLakiejz3DJvZX5A==}
-    engines: {node: 12.* || 14.* || >= 16}
-    dependencies:
-      babel-import-util: 2.0.1
-      debug: 4.3.4(supports-color@8.1.1)
-      ember-rfc176-data: 0.3.18
-      fs-extra: 9.1.0
-      js-string-escape: 1.0.1
-      lodash: 4.17.21
-      resolve-package-path: 4.0.3
-      semver: 7.5.4
-      typescript-memoize: 1.1.1
-    transitivePeerDependencies:
-      - supports-color
-
   /@embroider/shared-internals@2.5.2(supports-color@8.1.1):
     resolution: {integrity: sha512-jNDJ9YlV6Qp9Na9v17qirUewVuq6T0t32nn+bbnFlCRTvmllKluZdYPSC5RuRnEZKTloVYRSF0+f1rgkTIEvxQ==}
     engines: {node: 12.* || 14.* || >= 16}
@@ -2196,12 +2221,12 @@ packages:
       '@embroider/macros': 1.13.5
       broccoli-funnel: 3.0.8
       ember-cli-babel: 7.26.11
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
 
-  /@embroider/webpack@3.2.2(@embroider/core@3.4.4)(webpack@5.90.0):
+  /@embroider/webpack@3.2.2(@embroider/core@3.4.4)(webpack@5.90.1):
     resolution: {integrity: sha512-ygUQiej6uEgtF63opuyzvnoF8SjEsgOFaIDY9osaMKmoFe06QidjT2utLVqOB+k3vBiYfxQkVZ1HJaM0ud4F4A==}
     engines: {node: 12.* || 14.* || >= 16}
     peerDependencies:
@@ -2209,29 +2234,29 @@ packages:
       webpack: ^5.0.0
     dependencies:
       '@babel/core': 7.23.9(supports-color@8.1.1)
-      '@embroider/babel-loader-9': 3.1.1(@embroider/core@3.4.4)(supports-color@8.1.1)(webpack@5.90.0)
+      '@embroider/babel-loader-9': 3.1.1(@embroider/core@3.4.4)(supports-color@8.1.1)(webpack@5.90.1)
       '@embroider/core': 3.4.4
-      '@embroider/hbs-loader': 3.0.3(@embroider/core@3.4.4)(webpack@5.90.0)
+      '@embroider/hbs-loader': 3.0.3(@embroider/core@3.4.4)(webpack@5.90.1)
       '@embroider/shared-internals': 2.5.2(supports-color@8.1.1)
       '@types/supports-color': 8.1.3
       assert-never: 1.2.1
-      babel-loader: 8.3.0(@babel/core@7.23.9)(webpack@5.90.0)
+      babel-loader: 8.3.0(@babel/core@7.23.9)(webpack@5.90.1)
       babel-preset-env: 1.7.0(supports-color@8.1.1)
-      css-loader: 5.2.7(webpack@5.90.0)
+      css-loader: 5.2.7(webpack@5.90.1)
       csso: 4.2.0
       debug: 4.3.4(supports-color@8.1.1)
       escape-string-regexp: 4.0.0
       fs-extra: 9.1.0
       jsdom: 16.7.0(supports-color@8.1.1)
       lodash: 4.17.21
-      mini-css-extract-plugin: 2.8.0(webpack@5.90.0)
+      mini-css-extract-plugin: 2.8.0(webpack@5.90.1)
       semver: 7.5.4
       source-map-url: 0.4.1
-      style-loader: 2.0.0(webpack@5.90.0)
+      style-loader: 2.0.0(webpack@5.90.1)
       supports-color: 8.1.1
       terser: 5.27.0
-      thread-loader: 3.0.4(webpack@5.90.0)
-      webpack: 5.90.0
+      thread-loader: 3.0.4(webpack@5.90.1)
+      webpack: 5.90.1
     transitivePeerDependencies:
       - bufferutil
       - canvas
@@ -2261,7 +2286,7 @@ packages:
       debug: 4.3.4(supports-color@8.1.1)
       espree: 9.6.1
       globals: 13.24.0
-      ignore: 5.3.0
+      ignore: 5.3.1
       import-fresh: 3.3.0
       js-yaml: 4.1.0
       minimatch: 3.1.2
@@ -2621,10 +2646,6 @@ packages:
     resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
     dev: true
 
-  /@ilios/ember-template-lint-plugin@3.0.0:
-    resolution: {integrity: sha512-1uCmP9E97H4DeBLzLUhGUW2Wew8y9MMmJyU4Hfs3TDgnFE2woL8DkUa2EZWs1tja5atcbYyUfnubaWkOnNSlsg==}
-    dev: true
-
   /@isaacs/cliui@8.0.2:
     resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
     engines: {node: '>=12'}
@@ -3066,7 +3087,7 @@ packages:
       '@sentry/utils': 7.99.0
     dev: true
 
-  /@sentry/ember@7.99.0(webpack@5.90.0):
+  /@sentry/ember@7.99.0(webpack@5.90.1):
     resolution: {integrity: sha512-GIpennBvIHK5HcpmnTietSMNEdWAO6OuXgq09glAFh55c8mfhszxR87rqxgLWk03mIAcZGa6m8pPXTEYbzYHUg==}
     engines: {node: 14.* || 16.* || >= 18}
     dependencies:
@@ -3075,7 +3096,7 @@ packages:
       '@sentry/core': 7.99.0
       '@sentry/types': 7.99.0
       '@sentry/utils': 7.99.0
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-cli-htmlbars: 6.3.0
       ember-cli-typescript: 5.2.1
@@ -4019,12 +4040,12 @@ packages:
     hasBin: true
     dev: true
 
-  /available-typed-arrays@1.0.5:
-    resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+  /available-typed-arrays@1.0.6:
+    resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==}
     engines: {node: '>= 0.4'}
 
-  /aws-sdk@2.1547.0:
-    resolution: {integrity: sha512-jk7u3KtDZ5F20k2X6D2FhndpLGkt3ZuNfRU5crp+fI6B/GFj/S91GJDoZh/Yw3rW+CemY1sFmdFT8ReA2G8WkA==}
+  /aws-sdk@2.1549.0:
+    resolution: {integrity: sha512-SoVfrrV3A2mxH+NV2tA0eMtG301glhewvhL3Ob4107qLWjvwjy/CoWLclMLmfXniTGxbI8tsgN0r5mLZUKey3Q==}
     engines: {node: '>= 10.0.0'}
     dependencies:
       buffer: 4.9.2
@@ -4241,7 +4262,7 @@ packages:
       webpack: 4.47.0
     dev: true
 
-  /babel-loader@8.3.0(@babel/core@7.23.9)(webpack@5.90.0):
+  /babel-loader@8.3.0(@babel/core@7.23.9)(webpack@5.90.1):
     resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==}
     engines: {node: '>= 8.9'}
     peerDependencies:
@@ -4253,9 +4274,9 @@ packages:
       loader-utils: 2.0.4
       make-dir: 3.1.0
       schema-utils: 2.7.1
-      webpack: 5.90.0
+      webpack: 5.90.1
 
-  /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.90.0):
+  /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.90.1):
     resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
     engines: {node: '>= 14.15.0'}
     peerDependencies:
@@ -4265,7 +4286,7 @@ packages:
       '@babel/core': 7.23.9(supports-color@8.1.1)
       find-cache-dir: 4.0.0
       schema-utils: 4.2.0
-      webpack: 5.90.0
+      webpack: 5.90.1
     dev: true
 
   /babel-messages@6.23.0:
@@ -4807,7 +4828,6 @@ packages:
   /binary-extensions@2.2.0:
     resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
     engines: {node: '>=8'}
-    requiresBuild: true
     dev: true
 
   /binaryextensions@2.3.0:
@@ -5561,8 +5581,8 @@ packages:
     resolution: {integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==}
     hasBin: true
     dependencies:
-      caniuse-lite: 1.0.30001582
-      electron-to-chromium: 1.4.653
+      caniuse-lite: 1.0.30001583
+      electron-to-chromium: 1.4.655
     dev: true
 
   /browserslist@4.22.3:
@@ -5570,8 +5590,8 @@ packages:
     engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
     hasBin: true
     dependencies:
-      caniuse-lite: 1.0.30001581
-      electron-to-chromium: 1.4.651
+      caniuse-lite: 1.0.30001583
+      electron-to-chromium: 1.4.655
       node-releases: 2.0.14
       update-browserslist-db: 1.0.13(browserslist@4.22.3)
 
@@ -5622,7 +5642,7 @@ packages:
     resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==}
     dependencies:
       base64-js: 1.5.1
-      ieee754: 1.2.1
+      ieee754: 1.1.13
       isarray: 1.0.0
     dev: true
 
@@ -5749,7 +5769,7 @@ packages:
     resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
     dependencies:
       browserslist: 4.22.3
-      caniuse-lite: 1.0.30001582
+      caniuse-lite: 1.0.30001583
       lodash.memoize: 4.1.2
       lodash.uniq: 4.5.0
     dev: true
@@ -5758,12 +5778,8 @@ packages:
     resolution: {integrity: sha512-ANscoxMPL2Rrffj9x6qDqRQu4jGhYD06Fg/ma4g3fkv1CVEe6xB3pfOHiurPNLsCJb75V/02ZCTdYjpovSd6XA==}
     dev: true
 
-  /caniuse-lite@1.0.30001581:
-    resolution: {integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==}
-
-  /caniuse-lite@1.0.30001582:
-    resolution: {integrity: sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg==}
-    dev: true
+  /caniuse-lite@1.0.30001583:
+    resolution: {integrity: sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q==}
 
   /capture-exit@2.0.0:
     resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==}
@@ -6543,14 +6559,6 @@ packages:
       sha.js: 2.4.11
     dev: true
 
-  /cross-spawn@5.1.0:
-    resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
-    dependencies:
-      lru-cache: 4.1.5
-      shebang-command: 1.2.0
-      which: 1.2.14
-    dev: true
-
   /cross-spawn@6.0.5:
     resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
     engines: {node: '>=4.8'}
@@ -6597,7 +6605,7 @@ packages:
     engines: {node: '>=12 || >=16'}
     dev: true
 
-  /css-loader@5.2.7(webpack@5.90.0):
+  /css-loader@5.2.7(webpack@5.90.1):
     resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==}
     engines: {node: '>= 10.13.0'}
     peerDependencies:
@@ -6613,7 +6621,7 @@ packages:
       postcss-value-parser: 4.2.0
       schema-utils: 3.3.0
       semver: 7.5.4
-      webpack: 5.90.0
+      webpack: 5.90.1
 
   /css-select@1.2.0:
     resolution: {integrity: sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==}
@@ -7167,12 +7175,8 @@ packages:
       jake: 10.8.7
     dev: true
 
-  /electron-to-chromium@1.4.651:
-    resolution: {integrity: sha512-jjks7Xx+4I7dslwsbaFocSwqBbGHQmuXBJUK9QBZTIrzPq3pzn6Uf2szFSP728FtLYE3ldiccmlkOM/zhGKCpA==}
-
-  /electron-to-chromium@1.4.653:
-    resolution: {integrity: sha512-wA2A2LQCqnEwQAvwADQq3KpMpNwgAUBnRmrFgRzHnPhbQUFArTR32Ab46f4p0MovDLcg4uqd4nCsN2hTltslpA==}
-    dev: true
+  /electron-to-chromium@1.4.655:
+    resolution: {integrity: sha512-2yszojF7vIZ68adIOvzV4bku8OZad9w5H9xF3ZAMZjPuOjBarlflUkjN6DggdV+L71WZuKUfKUhov/34+G5QHg==}
 
   /elliptic@6.5.4:
     resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==}
@@ -7196,7 +7200,7 @@ packages:
       - supports-color
     dev: true
 
-  /ember-a11y-testing@6.1.1(@babel/core@7.23.9)(@ember/test-helpers@3.2.1)(qunit@2.20.0)(webpack@5.90.0):
+  /ember-a11y-testing@6.1.1(@babel/core@7.23.9)(@ember/test-helpers@3.2.1)(qunit@2.20.0)(webpack@5.90.1):
     resolution: {integrity: sha512-bDpw5+B2q++xwz5DWcbYB6dXp6nNe4jBwDkT6CqMESiVWWsSKPHs3ygt1Y89ESucesRIiv/49gNKMftZNsCpkw==}
     engines: {node: 16.* || >= 18}
     peerDependencies:
@@ -7206,13 +7210,13 @@ packages:
       qunit:
         optional: true
     dependencies:
-      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.0)
+      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.1)
       '@ember/test-waiters': 3.1.0
       '@scalvert/ember-setup-middleware-reporter': 0.1.1
       axe-core: 4.8.3
       body-parser: 1.20.2
       broccoli-persistent-filter: 3.1.3
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-cli-typescript: 4.2.1
       ember-cli-version-checker: 5.1.2
@@ -7245,7 +7249,7 @@ packages:
     dependencies:
       '@ember/test-waiters': 3.1.0
       '@embroider/addon-shim': 1.8.7
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -7289,7 +7293,7 @@ packages:
       - webpack-command
     dev: true
 
-  /ember-auto-import@2.7.2(webpack@5.90.0):
+  /ember-auto-import@2.7.2(webpack@5.90.1):
     resolution: {integrity: sha512-pkWIljmJClYL17YBk8FjO7NrZPQoY9v0b+FooJvaHf/xlDQIBYVP7OaDHbNuNbpj7+wAwSDAnnwxjCoLsmm4cw==}
     engines: {node: 12.* || 14.* || >= 16}
     dependencies:
@@ -7300,8 +7304,8 @@ packages:
       '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9)
       '@babel/preset-env': 7.23.9(@babel/core@7.23.9)
       '@embroider/macros': 1.13.5
-      '@embroider/shared-internals': 2.5.1
-      babel-loader: 8.3.0(@babel/core@7.23.9)(webpack@5.90.0)
+      '@embroider/shared-internals': 2.5.2(supports-color@8.1.1)
+      babel-loader: 8.3.0(@babel/core@7.23.9)(webpack@5.90.1)
       babel-plugin-ember-modules-api-polyfill: 3.5.0
       babel-plugin-ember-template-compilation: 2.2.1
       babel-plugin-htmlbars-inline-precompile: 5.3.1
@@ -7311,20 +7315,20 @@ packages:
       broccoli-merge-trees: 4.2.0
       broccoli-plugin: 4.0.7
       broccoli-source: 3.0.1
-      css-loader: 5.2.7(webpack@5.90.0)
+      css-loader: 5.2.7(webpack@5.90.1)
       debug: 4.3.4(supports-color@8.1.1)
       fs-extra: 10.1.0
       fs-tree-diff: 2.0.1
       handlebars: 4.7.8
       js-string-escape: 1.0.1
       lodash: 4.17.21
-      mini-css-extract-plugin: 2.7.7(webpack@5.90.0)
+      mini-css-extract-plugin: 2.8.0(webpack@5.90.1)
       minimatch: 3.1.2
       parse5: 6.0.1
       resolve: 1.22.8
       resolve-package-path: 4.0.3
       semver: 7.5.4
-      style-loader: 2.0.0(webpack@5.90.0)
+      style-loader: 2.0.0(webpack@5.90.1)
       typescript-memoize: 1.1.1
       walk-sync: 3.0.0
     transitivePeerDependencies:
@@ -7357,7 +7361,7 @@ packages:
       ember-cache-primitive-polyfill: 1.0.1(@babel/core@7.23.9)
       ember-cli-babel: 7.26.11
       ember-cli-babel-plugin-helpers: 1.1.1
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - '@babel/core'
       - '@glint/template'
@@ -7371,7 +7375,7 @@ packages:
       ember-source: ^3.28.0 || >= 4.0.0
     dependencies:
       ember-cli-babel: 7.26.11
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
       git-repo-info: 2.1.1
     transitivePeerDependencies:
       - supports-color
@@ -7593,7 +7597,7 @@ packages:
     resolution: {integrity: sha512-6M1r9Au0sWCwHONyzLqgJzTRCpAskqJptN/HKJFzORZ917iflEl3Z4g1r22UVJau8Iwoc6hdB6TKZ2Ake5b51g==}
     engines: {node: 14.* || >= 16}
     dependencies:
-      aws-sdk: 2.1547.0
+      aws-sdk: 2.1549.0
       core-object: 3.1.5
       ember-cli-deploy-plugin: 0.2.9
       rsvp: 4.8.5
@@ -7671,7 +7675,7 @@ packages:
     resolution: {integrity: sha512-+kYMoEh+RPVrrGy3wkURnY35nv8qfQQYZ50ESaodS8wAYzXAgJqcy72zRmJ+wbP66ZPBABfKdC3CtwWqQkS6jQ==}
     engines: {node: 14.* || 16.* || 18.* || >= 20}
     dependencies:
-      aws-sdk: 2.1547.0
+      aws-sdk: 2.1549.0
       core-object: 3.1.5
       ember-cli-deploy-plugin: 0.2.9
       mime-types: 2.1.35
@@ -7706,14 +7710,14 @@ packages:
       - supports-color
     dev: true
 
-  /ember-cli-flash@4.0.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.0):
+  /ember-cli-flash@4.0.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.1):
     resolution: {integrity: sha512-FEynX637xuFlmjMptAUBlww+GeYBcalnMYtDtzsBtLvnsBfU2Gd8xZVrCqQaqEAmHobxKLrYdTKu0YSY7ptIuQ==}
     engines: {node: 12.* || 14.* || >= 16}
     dependencies:
       '@ember/render-modifiers': 2.1.0(@babel/core@7.23.9)(ember-source@5.3.0)
       '@glimmer/component': 1.1.2(@babel/core@7.23.9)
       '@glimmer/tracking': 1.1.2
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-cli-htmlbars: 6.3.0
     transitivePeerDependencies:
@@ -7807,7 +7811,7 @@ packages:
       broccoli-merge-trees: 4.2.0
       ember-cli-babel: 7.26.11
       ember-cli-htmlbars: 6.3.0
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
       rsvp: 4.8.5
       sharp: 0.32.6
     transitivePeerDependencies:
@@ -7831,7 +7835,7 @@ packages:
     engines: {node: ^4.5 || 6.* || >= 7.*}
     dev: true
 
-  /ember-cli-mirage@3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.0):
+  /ember-cli-mirage@3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.1):
     resolution: {integrity: sha512-SthtL8i/tvo7F/XwkSa/XEE1h99p2o1wS2O3DzyEzPqySpSD8a8YKauvN/FgZQVwjcXJuprSrCiWne8+bb6rYA==}
     engines: {node: 16.* || >= 18}
     peerDependencies:
@@ -7852,18 +7856,18 @@ packages:
         optional: true
     dependencies:
       '@babel/core': 7.23.9(supports-color@8.1.1)
-      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.0)
+      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.1)
       '@embroider/macros': 1.13.5
       broccoli-file-creator: 2.1.1
       broccoli-funnel: 3.0.8
       broccoli-merge-trees: 4.2.0
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 8.2.0(@babel/core@7.23.9)
       ember-data: 5.3.0(@babel/core@7.23.9)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@5.3.0)
       ember-get-config: 2.1.1
       ember-inflector: 4.0.2
       ember-qunit: 8.0.2(@ember/test-helpers@3.2.1)(ember-source@5.3.0)(qunit@2.20.0)
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
       miragejs: 0.1.48
     transitivePeerDependencies:
       - '@glint/template'
@@ -7906,7 +7910,7 @@ packages:
       '@ember/jquery':
         optional: true
     dependencies:
-      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.0)
+      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.1)
       '@embroider/addon-shim': 1.8.7
       '@ro0gr/ceibo': 2.2.0
       '@types/jquery': 3.5.29
@@ -8328,7 +8332,7 @@ packages:
       ember-cli-babel-plugin-helpers: 1.1.1
       ember-cli-htmlbars: 6.3.0
       ember-compatibility-helpers: 1.2.7(@babel/core@7.23.9)
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - '@babel/core'
       - supports-color
@@ -8375,10 +8379,10 @@ packages:
       '@ember/string': 3.1.1
       '@embroider/macros': 1.13.5
       broccoli-merge-trees: 4.2.0
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 8.2.0(@babel/core@7.23.9)
       ember-inflector: 4.0.2
-      webpack: 5.90.0
+      webpack: 5.90.1
     transitivePeerDependencies:
       - '@babel/core'
       - '@glimmer/tracking'
@@ -8444,7 +8448,7 @@ packages:
       - supports-color
     dev: true
 
-  /ember-file-upload@9.0.0(@ember/test-helpers@3.2.1)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-cli-mirage@3.0.2)(ember-modifier@4.1.0)(miragejs@0.1.48)(tracked-built-ins@3.3.0)(webpack@5.90.0):
+  /ember-file-upload@9.0.0(@ember/test-helpers@3.2.1)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-cli-mirage@3.0.2)(ember-modifier@4.1.0)(miragejs@0.1.48)(tracked-built-ins@3.3.0)(webpack@5.90.1):
     resolution: {integrity: sha512-7WJTXOoeXqN34aDNpKBIgUf07pYDjtqZRcyqYe4U1GNJGfJdsL+y42y+bKYLfuHLhbOAlZ1ZyEop34LR+hOZSA==}
     engines: {node: 16.* || >= 18}
     peerDependencies:
@@ -8461,14 +8465,14 @@ packages:
       miragejs:
         optional: true
     dependencies:
-      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.0)
+      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.1)
       '@ember/test-waiters': 3.1.0
       '@embroider/addon-shim': 1.8.7
       '@embroider/macros': 1.13.5
       '@glimmer/component': 1.1.2(@babel/core@7.23.9)
       '@glimmer/tracking': 1.1.2
-      ember-auto-import: 2.7.2(webpack@5.90.0)
-      ember-cli-mirage: 3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
+      ember-cli-mirage: 3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.1)
       ember-modifier: 4.1.0(ember-source@5.3.0)
       miragejs: 0.1.48
       tracked-built-ins: 3.3.0
@@ -8485,7 +8489,7 @@ packages:
       ember-source: ^4.0.0 || ^5.0.0
     dependencies:
       '@embroider/addon-shim': 1.8.7
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
       focus-trap: 6.9.4
     transitivePeerDependencies:
       - supports-color
@@ -8500,7 +8504,7 @@ packages:
       ember-cli-babel: 7.26.11
       ember-cli-typescript: 5.2.1
       ember-cli-version-checker: 5.1.2
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -8528,12 +8532,12 @@ packages:
       - supports-color
     dev: true
 
-  /ember-in-viewport@4.1.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.0):
+  /ember-in-viewport@4.1.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.1):
     resolution: {integrity: sha512-3y6qWXuJPPc6vX2GfxWgtr+sDjb+bdZF9babstr0lTd8t8c1b42gJ13GaJqlylZIyZz2dEXFCimX9WAeudPv9g==}
     engines: {node: 12.* || 14.* || >= 16}
     dependencies:
       '@embroider/macros': 1.13.5
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-destroyable-polyfill: 2.0.3(@babel/core@7.23.9)
       ember-modifier: 4.1.0(ember-source@5.3.0)
@@ -8557,7 +8561,7 @@ packages:
       - supports-color
     dev: true
 
-  /ember-intl@6.4.0(@babel/core@7.23.9)(webpack@5.90.0):
+  /ember-intl@6.4.0(@babel/core@7.23.9)(webpack@5.90.1):
     resolution: {integrity: sha512-BXxscjgoqzXQ6tUSV8aJsQcUAIcfqLJnNjegarFWdBBHLEOffQ8xARhvQC0hW40zGi/RHFEyTTx7vbiCPGtP1A==}
     engines: {node: 16.* || >= 18}
     peerDependencies:
@@ -8576,7 +8580,7 @@ packages:
       broccoli-stew: 3.0.0
       calculate-cache-key-for-tree: 2.0.0
       cldr-core: 44.1.0
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 8.2.0(@babel/core@7.23.9)
       ember-cli-typescript: 5.2.1
       eventemitter3: 5.0.1
@@ -8611,7 +8615,7 @@ packages:
       ember-source: ^4.0.0 || ^5.0.0
     dependencies:
       '@embroider/addon-shim': 1.8.7
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -8650,7 +8654,7 @@ packages:
       '@embroider/addon-shim': 1.8.7
       ember-cli-normalize-entity-name: 1.0.0
       ember-cli-string-utils: 1.1.0
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -8677,11 +8681,11 @@ packages:
     engines: {node: 8.* || >= 10.*}
     dev: true
 
-  /ember-on-resize-modifier@2.0.2(ember-source@5.3.0)(webpack@5.90.0):
+  /ember-on-resize-modifier@2.0.2(ember-source@5.3.0)(webpack@5.90.1):
     resolution: {integrity: sha512-7mcD7CNbiCaZEIASWlRz/Wmn47afCMSFTdQJSSUe0WCgnXxn9DVoqZ39B7ZuddTHa0V6otTFrV/lIRYpggQ+eg==}
     engines: {node: 12.* || 14.* || >= 16}
     dependencies:
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-cli-htmlbars: 5.7.2
       ember-modifier: 4.1.0(ember-source@5.3.0)
@@ -8701,7 +8705,7 @@ packages:
     dependencies:
       '@embroider/addon-shim': 1.8.7
       '@simple-dom/document': 1.4.0
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -8713,11 +8717,11 @@ packages:
       ember-source: '>=4.0.0'
       qunit: ^2.13.0
     dependencies:
-      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.0)
+      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.1)
       '@embroider/addon-shim': 1.8.7
       '@embroider/macros': 1.13.5
       ember-cli-test-loader: 3.1.0
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
       qunit: 2.20.0
     transitivePeerDependencies:
       - '@glint/template'
@@ -8758,7 +8762,7 @@ packages:
         optional: true
     dependencies:
       ember-cli-babel: 7.26.11
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -8794,7 +8798,7 @@ packages:
       '@ember/test-helpers':
         optional: true
     dependencies:
-      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.0)
+      '@ember/test-helpers': 3.2.1(ember-source@5.3.0)(webpack@5.90.1)
       '@ember/test-waiters': 3.1.0
       '@embroider/addon-shim': 1.8.7
       '@embroider/macros': 1.13.5
@@ -8806,7 +8810,7 @@ packages:
       - supports-color
     dev: true
 
-  /ember-simple-charts@11.0.1(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.0):
+  /ember-simple-charts@11.0.1(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.1):
     resolution: {integrity: sha512-xstuVhudN/3MRhlmPfDVIWerAS8DIvWlDqTq2ji9XnYTvKjKFvdScJdpNTRFftpEpGWB4Rr0oEllJqLLbR1bRA==}
     engines: {node: 14.* || 16.* || >= 18, npm: '>= 8'}
     peerDependencies:
@@ -8825,15 +8829,15 @@ packages:
       d3-selection: 3.0.0
       d3-shape: 3.2.0
       d3-transition: 3.0.1(d3-selection@3.0.0)
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-cli-htmlbars: 6.3.0
       ember-cli-sass: 11.0.1
       ember-concurrency: 3.1.1(@babel/core@7.23.9)(ember-source@5.3.0)
       ember-in-element-polyfill: 1.0.1
-      ember-on-resize-modifier: 2.0.2(ember-source@5.3.0)(webpack@5.90.0)
+      ember-on-resize-modifier: 2.0.2(ember-source@5.3.0)(webpack@5.90.1)
       ember-resize-observer-polyfill: 0.0.1
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - '@babel/core'
       - '@glint/environment-ember-loose'
@@ -8844,7 +8848,7 @@ packages:
       - webpack-command
     dev: true
 
-  /ember-source@5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0):
+  /ember-source@5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1):
     resolution: {integrity: sha512-MnsPEYo2gArYzlY0uu5bBH60oNYcgcayYQEd27nJumuaceN1sMLMu1jGQmjiQzZ4b6U5edEUNQbCIZ/9TXbASw==}
     engines: {node: '>= 16.*'}
     peerDependencies:
@@ -8879,7 +8883,7 @@ packages:
       broccoli-funnel: 3.0.8
       broccoli-merge-trees: 4.2.0
       chalk: 4.1.2
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 7.26.11
       ember-cli-get-component-path-option: 1.0.0
       ember-cli-is-package-missing: 1.0.0
@@ -8995,7 +8999,7 @@ packages:
     dependencies:
       '@embroider/addon-shim': 1.8.7
       ember-functions-as-helper-polyfill: 2.1.2(ember-source@5.3.0)
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -9136,7 +9140,7 @@ packages:
     dependencies:
       array-buffer-byte-length: 1.0.0
       arraybuffer.prototype.slice: 1.0.2
-      available-typed-arrays: 1.0.5
+      available-typed-arrays: 1.0.6
       call-bind: 1.0.5
       es-set-tostringtag: 2.0.2
       es-to-primitive: 1.2.1
@@ -9156,7 +9160,7 @@ packages:
       is-regex: 1.1.4
       is-shared-array-buffer: 1.0.2
       is-string: 1.0.7
-      is-typed-array: 1.1.12
+      is-typed-array: 1.1.13
       is-weakref: 1.0.2
       object-inspect: 1.13.1
       object-keys: 1.1.1
@@ -9172,7 +9176,7 @@ packages:
       typed-array-byte-offset: 1.0.0
       typed-array-length: 1.0.4
       unbox-primitive: 1.0.2
-      which-typed-array: 1.1.13
+      which-typed-array: 1.1.14
 
   /es-module-lexer@1.4.1:
     resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
@@ -9182,7 +9186,7 @@ packages:
     engines: {node: '>= 0.4'}
     dependencies:
       get-intrinsic: 1.2.2
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
       hasown: 2.0.0
 
   /es-to-primitive@1.2.1:
@@ -9302,7 +9306,7 @@ packages:
       eslint-plugin-es-x: 7.5.0(eslint@8.56.0)
       get-tsconfig: 4.7.2
       globals: 13.24.0
-      ignore: 5.3.0
+      ignore: 5.3.1
       is-builtin-module: 3.2.1
       is-core-module: 2.13.1
       minimatch: 3.1.2
@@ -9414,7 +9418,7 @@ packages:
       glob-parent: 6.0.2
       globals: 13.24.0
       graphemer: 1.4.0
-      ignore: 5.3.0
+      ignore: 5.3.1
       imurmurhash: 0.1.4
       is-glob: 4.0.3
       is-path-inside: 3.0.3
@@ -10619,7 +10623,7 @@ packages:
       dir-glob: 3.0.1
       fast-glob: 3.3.2
       glob: 7.2.3
-      ignore: 5.3.0
+      ignore: 5.3.1
       merge2: 1.4.1
       slash: 3.0.0
     dev: true
@@ -10631,7 +10635,7 @@ packages:
       array-union: 2.1.0
       dir-glob: 3.0.1
       fast-glob: 3.3.2
-      ignore: 5.3.0
+      ignore: 5.3.1
       merge2: 1.4.1
       slash: 3.0.0
     dev: true
@@ -10642,7 +10646,7 @@ packages:
     dependencies:
       dir-glob: 3.0.1
       fast-glob: 3.3.2
-      ignore: 5.3.0
+      ignore: 5.3.1
       merge2: 1.4.1
       slash: 4.0.0
     dev: true
@@ -10738,8 +10742,8 @@ packages:
     resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
     engines: {node: '>= 0.4'}
 
-  /has-tostringtag@1.0.0:
-    resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+  /has-tostringtag@1.0.2:
+    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
     engines: {node: '>= 0.4'}
     dependencies:
       has-symbols: 1.0.3
@@ -11028,12 +11032,12 @@ packages:
     resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==}
     dev: true
 
-  /ignore@5.3.0:
-    resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
+  /ignore@5.3.1:
+    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
     engines: {node: '>= 4'}
     dev: true
 
-  /ilios-common@87.1.0(@ember/test-helpers@3.2.1)(@popperjs/core@2.11.8)(class-validator@0.14.1)(ember-qunit@8.0.2)(ember-source@5.3.0)(flatpickr@4.6.13)(froala-editor@4.1.4)(luxon@3.4.4)(miragejs@0.1.48)(mockdate@3.0.5)(moment-timezone@0.5.44)(moment@2.30.1)(query-string@8.1.0)(scroll-into-view@1.16.2)(striptags@3.2.0)(tracked-built-ins@3.3.0)(typeface-nunito-sans@1.1.13)(typeface-nunito@1.1.13)(validator@13.11.0)(webpack@5.90.0):
+  /ilios-common@87.1.0(@ember/test-helpers@3.2.1)(@popperjs/core@2.11.8)(class-validator@0.14.1)(ember-qunit@8.0.2)(ember-source@5.3.0)(flatpickr@4.6.13)(froala-editor@4.1.4)(luxon@3.4.4)(miragejs@0.1.48)(mockdate@3.0.5)(moment-timezone@0.5.44)(moment@2.30.1)(query-string@8.1.0)(scroll-into-view@1.16.2)(striptags@3.2.0)(tracked-built-ins@3.3.0)(typeface-nunito-sans@1.1.13)(typeface-nunito@1.1.13)(validator@13.11.0)(webpack@5.90.1):
     resolution: {integrity: sha512-S/XhlLdDoLFzXpUU1FcZKme1CFbc5RR8pbY+lq+/NgKfq4ZycmNt7vG+hkRajRmdBUNKxTfFjezywW3Y++t5/A==}
     engines: {node: '>= 18', npm: use pnpm, yarn: use pnpm}
     peerDependencies:
@@ -11067,11 +11071,11 @@ packages:
       broccoli-merge-trees: 4.2.0
       class-validator: 0.14.1
       ember-async-data: 1.0.3(ember-source@5.3.0)
-      ember-auto-import: 2.7.2(webpack@5.90.0)
+      ember-auto-import: 2.7.2(webpack@5.90.1)
       ember-cli-babel: 8.2.0(@babel/core@7.23.9)
-      ember-cli-flash: 4.0.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.0)
+      ember-cli-flash: 4.0.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.1)
       ember-cli-htmlbars: 6.3.0
-      ember-cli-mirage: 3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.0)
+      ember-cli-mirage: 3.0.2(@ember/test-helpers@3.2.1)(ember-data@5.3.0)(ember-qunit@8.0.2)(ember-source@5.3.0)(miragejs@0.1.48)(webpack@5.90.1)
       ember-cli-page-object: 2.2.1(@ember/test-helpers@3.2.1)
       ember-cli-string-helpers: 6.1.0
       ember-click-outside: 6.1.0(ember-source@5.3.0)
@@ -11080,18 +11084,18 @@ packages:
       ember-data: 5.3.0(@babel/core@7.23.9)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@5.3.0)
       ember-event-helpers: 0.1.1
       ember-feature-flags: 6.0.0
-      ember-file-upload: 9.0.0(@ember/test-helpers@3.2.1)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-cli-mirage@3.0.2)(ember-modifier@4.1.0)(miragejs@0.1.48)(tracked-built-ins@3.3.0)(webpack@5.90.0)
+      ember-file-upload: 9.0.0(@ember/test-helpers@3.2.1)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-cli-mirage@3.0.2)(ember-modifier@4.1.0)(miragejs@0.1.48)(tracked-built-ins@3.3.0)(webpack@5.90.1)
       ember-focus-trap: 1.1.0(ember-source@5.3.0)
       ember-in-element-polyfill: 1.0.1
-      ember-in-viewport: 4.1.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.0)
+      ember-in-viewport: 4.1.0(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.1)
       ember-inflector: 4.0.2
-      ember-intl: 6.4.0(@babel/core@7.23.9)(webpack@5.90.0)
+      ember-intl: 6.4.0(@babel/core@7.23.9)(webpack@5.90.1)
       ember-math-helpers: 4.0.0(ember-source@5.3.0)
       ember-modifier: 4.1.0(ember-source@5.3.0)
       ember-moment: 10.0.0(moment-timezone@0.5.44)(moment@2.30.1)
       ember-simple-auth: 6.0.0(@ember/test-helpers@3.2.1)
-      ember-simple-charts: 11.0.1(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.0)
-      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.0)
+      ember-simple-charts: 11.0.1(@babel/core@7.23.9)(ember-source@5.3.0)(webpack@5.90.1)
+      ember-source: 5.3.0(@babel/core@7.23.9)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.90.1)
       ember-test-selectors: 6.0.0
       ember-truth-helpers: 4.0.3(ember-source@5.3.0)
       flatpickr: 4.6.13
@@ -11100,9 +11104,9 @@ packages:
       miragejs: 0.1.48
       mockdate: 3.0.5
       moment: 2.30.1
-      moment-locales-webpack-plugin: 1.2.0(moment@2.30.1)(webpack@5.90.0)
+      moment-locales-webpack-plugin: 1.2.0(moment@2.30.1)(webpack@5.90.1)
       moment-timezone: 0.5.44
-      moment-timezone-data-webpack-plugin: 1.5.1(moment-timezone@0.5.44)(webpack@5.90.0)
+      moment-timezone-data-webpack-plugin: 1.5.1(moment-timezone@0.5.44)(webpack@5.90.1)
       normalize.css: 8.0.1
       query-string: 8.1.0
       scroll-into-view: 1.16.2
@@ -11316,7 +11320,7 @@ packages:
     engines: {node: '>= 0.4'}
     dependencies:
       call-bind: 1.0.5
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
     dev: true
 
   /is-array-buffer@3.0.2:
@@ -11324,7 +11328,7 @@ packages:
     dependencies:
       call-bind: 1.0.5
       get-intrinsic: 1.2.2
-      is-typed-array: 1.1.12
+      is-typed-array: 1.1.13
 
   /is-array@1.0.1:
     resolution: {integrity: sha512-gxiZ+y/u67AzpeFmAmo4CbtME/bs7J2C++su5zQzvQyaxUqVzkh69DI+jN+KZuSO6JaH6TIIU6M6LhqxMjxEpw==}
@@ -11355,7 +11359,6 @@ packages:
   /is-binary-path@2.1.0:
     resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
     engines: {node: '>=8'}
-    requiresBuild: true
     dependencies:
       binary-extensions: 2.2.0
     dev: true
@@ -11365,7 +11368,7 @@ packages:
     engines: {node: '>= 0.4'}
     dependencies:
       call-bind: 1.0.5
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
 
   /is-buffer@1.1.6:
     resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
@@ -11398,7 +11401,7 @@ packages:
     resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
     engines: {node: '>= 0.4'}
     dependencies:
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
 
   /is-descriptor@0.1.7:
     resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==}
@@ -11458,7 +11461,7 @@ packages:
     resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
     engines: {node: '>= 0.4'}
     dependencies:
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
     dev: true
 
   /is-git-url@1.0.0:
@@ -11499,7 +11502,7 @@ packages:
     resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
     engines: {node: '>= 0.4'}
     dependencies:
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
 
   /is-number@3.0.0:
     resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
@@ -11560,7 +11563,7 @@ packages:
     engines: {node: '>= 0.4'}
     dependencies:
       call-bind: 1.0.5
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
 
   /is-running@2.1.0:
     resolution: {integrity: sha512-mjJd3PujZMl7j+D395WTIO5tU5RIDBfVSRtRR4VOJou3H66E38UjbjvDGh3slJzPuolsb+yQFqwHNNdyp5jg3w==}
@@ -11585,7 +11588,7 @@ packages:
     resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
     engines: {node: '>= 0.4'}
     dependencies:
-      has-tostringtag: 1.0.0
+      has-tostringtag: 1.0.2
 
   /is-symbol@1.0.4:
     resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
@@ -11599,11 +11602,11 @@ packages:
       core-util-is: 1.0.3
     dev: true
 
-  /is-typed-array@1.1.12:
-    resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
+  /is-typed-array@1.1.13:
+    resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
     engines: {node: '>= 0.4'}
     dependencies:
-      which-typed-array: 1.1.13
+      which-typed-array: 1.1.14
 
   /is-typedarray@1.0.0:
     resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
@@ -12318,13 +12321,6 @@ packages:
     engines: {node: 14 || >=16.14}
     dev: true
 
-  /lru-cache@4.1.5:
-    resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
-    dependencies:
-      pseudomap: 1.0.2
-      yallist: 2.1.2
-    dev: true
-
   /lru-cache@5.1.1:
     resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
     dependencies:
@@ -12634,16 +12630,7 @@ packages:
     engines: {node: '>=4'}
     dev: true
 
-  /mini-css-extract-plugin@2.7.7(webpack@5.90.0):
-    resolution: {integrity: sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==}
-    engines: {node: '>= 12.13.0'}
-    peerDependencies:
-      webpack: ^5.0.0
-    dependencies:
-      schema-utils: 4.2.0
-      webpack: 5.90.0
-
-  /mini-css-extract-plugin@2.8.0(webpack@5.90.0):
+  /mini-css-extract-plugin@2.8.0(webpack@5.90.1):
     resolution: {integrity: sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==}
     engines: {node: '>= 12.13.0'}
     peerDependencies:
@@ -12651,8 +12638,7 @@ packages:
     dependencies:
       schema-utils: 4.2.0
       tapable: 2.2.1
-      webpack: 5.90.0
-    dev: true
+      webpack: 5.90.1
 
   /minimalistic-assert@1.0.1:
     resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
@@ -12796,7 +12782,7 @@ packages:
     resolution: {integrity: sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==}
     dev: true
 
-  /moment-locales-webpack-plugin@1.2.0(moment@2.30.1)(webpack@5.90.0):
+  /moment-locales-webpack-plugin@1.2.0(moment@2.30.1)(webpack@5.90.1):
     resolution: {integrity: sha512-QAi5v0OlPUP7GXviKMtxnpBAo8WmTHrUNN7iciAhNOEAd9evCOvuN0g1N7ThIg3q11GLCkjY1zQ2saRcf/43nQ==}
     peerDependencies:
       moment: ^2.8.0
@@ -12804,10 +12790,10 @@ packages:
     dependencies:
       lodash.difference: 4.5.0
       moment: 2.30.1
-      webpack: 5.90.0
+      webpack: 5.90.1
     dev: true
 
-  /moment-timezone-data-webpack-plugin@1.5.1(moment-timezone@0.5.44)(webpack@5.90.0):
+  /moment-timezone-data-webpack-plugin@1.5.1(moment-timezone@0.5.44)(webpack@5.90.1):
     resolution: {integrity: sha512-1le6a35GgYdWMVYFzrfpE/F6Pk4bj0M3QKD6Iv6ba9LqWGoVqHQRHyCTLvLis5E1J98Sz40ET6yhZzMVakwpjg==}
     peerDependencies:
       moment-timezone: '>= 0.1.0'
@@ -12816,7 +12802,7 @@ packages:
       find-cache-dir: 3.3.2
       make-dir: 3.1.0
       moment-timezone: 0.5.44
-      webpack: 5.90.0
+      webpack: 5.90.1
     dev: true
 
   /moment-timezone@0.5.44:
@@ -13061,7 +13047,6 @@ packages:
   /normalize-path@2.1.1:
     resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
     engines: {node: '>=0.10.0'}
-    requiresBuild: true
     dependencies:
       remove-trailing-separator: 1.1.0
     dev: true
@@ -13285,11 +13270,6 @@ packages:
       mem: 5.1.1
     dev: true
 
-  /os-shim@0.1.3:
-    resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==}
-    engines: {node: '>= 0.4.0'}
-    dev: true
-
   /os-tmpdir@1.0.2:
     resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
     engines: {node: '>=0.10.0'}
@@ -13710,15 +13690,6 @@ packages:
       picocolors: 1.0.0
       source-map-js: 1.0.2
 
-  /pre-commit@1.2.2:
-    resolution: {integrity: sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==}
-    requiresBuild: true
-    dependencies:
-      cross-spawn: 5.1.0
-      spawn-sync: 1.0.15
-      which: 1.2.14
-    dev: true
-
   /prebuild-install@7.1.1:
     resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
     engines: {node: '>=10'}
@@ -13853,10 +13824,6 @@ packages:
       event-stream: 3.3.4
     dev: true
 
-  /pseudomap@1.0.2:
-    resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
-    dev: true
-
   /psl@1.9.0:
     resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
     dev: true
@@ -14116,7 +14083,6 @@ packages:
   /readdirp@3.6.0:
     resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
     engines: {node: '>=8.10.0'}
-    requiresBuild: true
     dependencies:
       picomatch: 2.3.1
     dev: true
@@ -14231,7 +14197,6 @@ packages:
 
   /remove-trailing-separator@1.1.0:
     resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
-    requiresBuild: true
     dev: true
 
   /remove-types@1.0.0:
@@ -15101,14 +15066,6 @@ packages:
     resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
     dev: true
 
-  /spawn-sync@1.0.15:
-    resolution: {integrity: sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==}
-    requiresBuild: true
-    dependencies:
-      concat-stream: 1.6.2
-      os-shim: 0.1.3
-    dev: true
-
   /spdx-correct@3.2.0:
     resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
     dependencies:
@@ -15228,8 +15185,8 @@ packages:
     resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
     dev: true
 
-  /streamx@2.15.6:
-    resolution: {integrity: sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==}
+  /streamx@2.15.7:
+    resolution: {integrity: sha512-NPEKS5+yjyo597eafGbKW5ujh7Sm6lDLHZQd/lRSz6S0VarpADBJItqfB4PnwpS+472oob1GX5cCY9vzfJpHUA==}
     dependencies:
       fast-fifo: 1.3.2
       queue-tick: 1.0.1
@@ -15387,7 +15344,7 @@ packages:
     resolution: {integrity: sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==}
     dev: true
 
-  /style-loader@2.0.0(webpack@5.90.0):
+  /style-loader@2.0.0(webpack@5.90.1):
     resolution: {integrity: sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==}
     engines: {node: '>= 10.13.0'}
     peerDependencies:
@@ -15395,7 +15352,7 @@ packages:
     dependencies:
       loader-utils: 2.0.4
       schema-utils: 3.3.0
-      webpack: 5.90.0
+      webpack: 5.90.1
 
   /style-search@0.1.0:
     resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
@@ -15487,7 +15444,7 @@ packages:
       globby: 11.1.0
       globjoin: 0.1.4
       html-tags: 3.3.1
-      ignore: 5.3.0
+      ignore: 5.3.1
       import-lazy: 4.0.0
       imurmurhash: 0.1.4
       is-plain-object: 5.0.0
@@ -15667,7 +15624,7 @@ packages:
     dependencies:
       b4a: 1.6.4
       fast-fifo: 1.3.2
-      streamx: 2.15.6
+      streamx: 2.15.7
     dev: true
 
   /tar@6.2.0:
@@ -15715,7 +15672,7 @@ packages:
       worker-farm: 1.7.0
     dev: true
 
-  /terser-webpack-plugin@5.3.10(webpack@5.90.0):
+  /terser-webpack-plugin@5.3.10(webpack@5.90.1):
     resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
     engines: {node: '>= 10.13.0'}
     peerDependencies:
@@ -15736,7 +15693,7 @@ packages:
       schema-utils: 3.3.0
       serialize-javascript: 6.0.2
       terser: 5.27.0
-      webpack: 5.90.0
+      webpack: 5.90.1
 
   /terser@4.8.1:
     resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==}
@@ -15932,7 +15889,7 @@ packages:
     resolution: {integrity: sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==}
     engines: {node: '>=0.8'}
 
-  /thread-loader@3.0.4(webpack@5.90.0):
+  /thread-loader@3.0.4(webpack@5.90.1):
     resolution: {integrity: sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==}
     engines: {node: '>= 10.13.0'}
     peerDependencies:
@@ -15943,7 +15900,7 @@ packages:
       loader-utils: 2.0.4
       neo-async: 2.6.2
       schema-utils: 3.3.0
-      webpack: 5.90.0
+      webpack: 5.90.1
     dev: true
 
   /through2@2.0.5:
@@ -16209,7 +16166,7 @@ packages:
     dependencies:
       call-bind: 1.0.5
       get-intrinsic: 1.2.2
-      is-typed-array: 1.1.12
+      is-typed-array: 1.1.13
 
   /typed-array-byte-length@1.0.0:
     resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
@@ -16218,24 +16175,24 @@ packages:
       call-bind: 1.0.5
       for-each: 0.3.3
       has-proto: 1.0.1
-      is-typed-array: 1.1.12
+      is-typed-array: 1.1.13
 
   /typed-array-byte-offset@1.0.0:
     resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
     engines: {node: '>= 0.4'}
     dependencies:
-      available-typed-arrays: 1.0.5
+      available-typed-arrays: 1.0.6
       call-bind: 1.0.5
       for-each: 0.3.3
       has-proto: 1.0.1
-      is-typed-array: 1.1.12
+      is-typed-array: 1.1.13
 
   /typed-array-length@1.0.4:
     resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
     dependencies:
       call-bind: 1.0.5
       for-each: 0.3.3
-      is-typed-array: 1.1.12
+      is-typed-array: 1.1.13
 
   /typedarray-to-buffer@3.1.5:
     resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
@@ -16446,8 +16403,8 @@ packages:
       inherits: 2.0.4
       is-arguments: 1.1.1
       is-generator-function: 1.0.10
-      is-typed-array: 1.1.12
-      which-typed-array: 1.1.13
+      is-typed-array: 1.1.13
+      which-typed-array: 1.1.14
     dev: true
 
   /utils-merge@1.0.1:
@@ -16664,13 +16621,13 @@ packages:
       - utf-8-validate
     dev: true
 
-  /webpack-retry-chunk-load-plugin@3.1.1(webpack@5.90.0):
+  /webpack-retry-chunk-load-plugin@3.1.1(webpack@5.90.1):
     resolution: {integrity: sha512-BKq/7EcelyWUUI6SeBaUKB1G+fSZP0rlxIwRQ+aO6mK5tffljaHdpJ4I2q54rpaaKjSbwbZRQlaITXe93SL9nA==}
     peerDependencies:
       webpack: '>=5.0.0'
     dependencies:
       prettier: 2.8.8
-      webpack: 5.90.0
+      webpack: 5.90.1
     dev: true
 
   /webpack-sources@1.4.3:
@@ -16724,8 +16681,8 @@ packages:
       - supports-color
     dev: true
 
-  /webpack@5.90.0:
-    resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==}
+  /webpack@5.90.1:
+    resolution: {integrity: sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==}
     engines: {node: '>=10.13.0'}
     hasBin: true
     peerDependencies:
@@ -16755,7 +16712,7 @@ packages:
       neo-async: 2.6.2
       schema-utils: 3.3.0
       tapable: 2.2.1
-      terser-webpack-plugin: 5.3.10(webpack@5.90.0)
+      terser-webpack-plugin: 5.3.10(webpack@5.90.1)
       watchpack: 2.4.0
       webpack-sources: 3.2.3
     transitivePeerDependencies:
@@ -16816,22 +16773,15 @@ packages:
       is-string: 1.0.7
       is-symbol: 1.0.4
 
-  /which-typed-array@1.1.13:
-    resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
+  /which-typed-array@1.1.14:
+    resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==}
     engines: {node: '>= 0.4'}
     dependencies:
-      available-typed-arrays: 1.0.5
+      available-typed-arrays: 1.0.6
       call-bind: 1.0.5
       for-each: 0.3.3
       gopd: 1.0.1
-      has-tostringtag: 1.0.0
-
-  /which@1.2.14:
-    resolution: {integrity: sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw==}
-    hasBin: true
-    dependencies:
-      isexe: 2.0.0
-    dev: true
+      has-tostringtag: 1.0.2
 
   /which@1.3.1:
     resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
@@ -17007,10 +16957,6 @@ packages:
     engines: {node: '>=10'}
     dev: true
 
-  /yallist@2.1.2:
-    resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
-    dev: true
-
   /yallist@3.1.1:
     resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
 
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000000..3c993ab32c
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,2 @@
+packages:
+  - "packages/frontend"