/angular-styleguide

Primary LanguageTypeScriptOtherNOASSERTION

ZDI Angular Styleguide - Sample Project

License: MIT REUSE status

This project serves as a sample project to showcase the guidelines provided in the ZDI Angular Styleguide.

It is a simplistic shop that offers delicious ice cream 🍦

The newest build of the shop is deployed here via GitHub Pages.

To get a better understanding of the style guide example, it is recommended to look into the style guide which is hosted under the repositories wiki page.

Almost the entire app is implemented by using the Standalone Components approach. To cover also the classical module-based approach and to showcase the integration of both concepts, the package catalog is implemented module-based completely.

Development server

Run npm start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Build

Run npm run build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Furthermore, you can find more information about the build and deployment process here.

Running unit tests

Run npm test to execute the unit tests via Karma.

Running end-to-end tests

WebdriverIO / Playwright

To execute the WebdriverIO or Playwright tests, ensure the application is running. Use npm start to run the application.

Run npm run e2e:wdio to execute the end-to-end tests via WebdriverIO.

Run npm run e2e:playwright to execute the end-to-end tests via Playwright.

Run npm run e2e:playwright:ui to start Playwright UI Mode.

Running Playwright tests with BrowserStack

Precondition: You need a BrowserStack account to get your username and access key: https://www.browserstack.com/docs/iaam/security/manage-access-keys.

Run tests with GitHub workflow:

Code formatting

This project uses Prettier as a code formatter. It is configured to run as a pre-commit hook on staged files to ensure the code in the repository is always properly formatted.

License

The application is released using the MIT license. For more information see the license file.