Skip to content

Latest commit

 

History

2,388 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

angular-movies

This is a Movies App built using Angular and RxAngular.
As data source the The Movie Database (TMDB) API is used.

angular-and-rx-angular

A live deployment of this app is available to try it out.

Performance Optimizations

angular-movies--after-before

For now you can search the codebase for "Perf Tip" later on there will be propper documentation here.

Measures before optimization angular-movies-before_michael-hladky

Measures after optimization angular-movies-after-optimization_michael-hladky

Bundle Stats

Names Size
chunk-H73X5IJZ.js 176.04 KB
chunk-J5RJBBBA.js 100.02 KB
main-HAHZT3VR.js 30.06 KB
chunk-26THTVGX.js 23.59 KB
chunk-MFJP3XQD.js 13.34 KB
chunk-DD4274WW.js 11.51 KB
chunk-UJXKG7ZY.js 5.98 KB
styles-6J6M4RLR.css 5.69 KB
chunk-F6TX2SNN.js 3.56 KB
chunk-XEGPBJW5.js 3.44 KB
chunk-BWRSEVT6.js 2.31 KB
chunk-ENKFPH2E.js 1.53 KB
chunk-3BVTSY3H.js 1.31 KB
chunk-TERIXCX3.js 1.11 KB
chunk-IPYUPOU3.js 1.1 KB
chunk-IS6BG5PM.js 981 Bytes
chunk-HMA6A7BH.js 675 Bytes
chunk-7CGTOI24.js 618 Bytes
chunk-SRLHFTA6.js 559 Bytes
chunk-4EXWTXAN.js 380 Bytes
chunk-PNQWYDWA.js 310 Bytes
chunk-YPVBW5JE.js 197 Bytes
chunk-6SM3TQVG.js 153 Bytes
chunk-E2EYHV3P.js 136 Bytes
chunk-QBRSGN6K.js 125 Bytes
chunk-K3RHTP23.js 96 Bytes
chunk-LFUTSNCE.js 37 Bytes
Initial Total 384.85 KB
Names Size
movie-detail-page.component 16.08 KB
person-detail-page.component 12.17 KB
list-items-edit.component 7.24 KB
list-create-page.component 6.34 KB
movie-list-page.component 6.22 KB
account-menu.component 5.11 KB
account-list-page.component 3.43 KB
list-detail-page.component 3.22 KB
list-remove.component 3.14 KB
list-image.component 3.08 KB
not-found-page.component 1.72 KB
list-movies.component 1.08 KB
list-detail-page.routes 610 Bytes
account-feature-page.routes 550 Bytes
movie-list.component 460 Bytes

Comparison to next and nuxt

angular-vs-next-vs-nuxt

Contributing

Contributions are always welcome!

For large changes, please file an issue to discuss your proposed changes with us before working on a PR :)

Installation

Clone and install the dependencies for angular-movies locally:

  git clone https://github.com/tastejs/angular-movies.git
  cd angular-movies
  npm install

Quick setup

  1. Use the Node version from .nvmrc (enforced via engine-strict in .npmrc):
    nvm install
    nvm use
    npm ci
    npm start and npm run e2e select the .nvmrc Node version automatically via scripts/with-node.sh (installs via nvm locally; uses setup-node in CI).
  2. Copy projects/movies/src/environments/environment.local.example.ts to projects/movies/src/environments/environment.ts (or environment.production.ts for prod builds).
  3. Add your TMDb API key and read access token.
  4. If port 4200 is stuck, stop the old process: lsof -ti:4200 | xargs kill -9

Running locally

Per Angular serve docs, the dev server uses @angular/build:dev-server (Vite). When ready it prints Local: http://localhost:4200/.

  • nx run movies:build:development: development build
  • nx run movies:build:production: production build (output: dist/projects/movies)
  • npm start / nx run movies:serve:development: dev server on port 4200
  • nx run movies:serve-static:production: serve the production build locally
  • npm run e2e / nx e2e movies: Playwright E2E (Chromium; starts dev server automatically). Multi-browser: PLAYWRIGHT_ALL_BROWSERS=1 npm run e2e
  • nx run movies:user-flow:development: legacy Lighthouse user-flow (local only, not in CI)

Playwright specs (legacy .uf.ts files kept under projects/movies/user-flows/):

Legacy user-flow Playwright spec
ci-flow.uf.ts e2e/sidebar-movie-detail.spec.ts
navigation.uf.ts e2e/routes.spec.ts
account-feature.uf.ts e2e/tmdb-auth.spec.ts (skipped in CI; needs TMDB)
fixxxx-ci-flow.uf.ts not migrated (obsolete prerender check)

Run auth E2E locally: nx e2e movies --grep @auth

  • nx run docs:build: regenerate README bundle stats (output: dist/measures/movies)

Tech Stack

Built with:

angular-and-rx-angular

Measures:

Authors

Based on the original angular-movies foundation by @clamarque.

License

MIT

About

A Angular Movies App Optimized for Performance

Resources

Contributing

Stars

386 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages