https://github.com/crissdev/mercury
Angular 8 application to illustrate usage of different CSS layout techniques and positioning (CSS Grid, Flexbox, Sticky positioning), OnPush change detection, Observables and how to lazy load images using IntersectionObserver.
https://github.com/crissdev/mercury
angular8 css-grid in-memory-web-api observables
Last synced: about 1 year ago
JSON representation
Angular 8 application to illustrate usage of different CSS layout techniques and positioning (CSS Grid, Flexbox, Sticky positioning), OnPush change detection, Observables and how to lazy load images using IntersectionObserver.
- Host: GitHub
- URL: https://github.com/crissdev/mercury
- Owner: crissdev
- Created: 2020-01-09T10:45:45.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-31T08:50:48.000Z (over 3 years ago)
- Last Synced: 2024-11-08T22:46:42.425Z (over 1 year ago)
- Topics: angular8, css-grid, in-memory-web-api, observables
- Language: TypeScript
- Homepage: https://sad-hopper-88b56e.netlify.com/
- Size: 1.4 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mercury
Angular 8 application to illustrate usage of different CSS layout techniques and positioning (CSS Grid, Flexbox, Sticky positioning), OnPush change detection, Observables and how to lazy load images using IntersectionObserver.
## Development
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.1.1, using the following command:
```sh
ng new --enable-ivy --prefix=mcy --routing=true --style=css mercury
```
## Features
- Lazy loading of images using [IntersectionObserver](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API)
- Modern responsive page and component layout using [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout) and [Flexbox](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout).
- Angular in-memory-web-api – https://github.com/angular/in-memory-web-api
- `OnPush` change detection strategy
- Advanced usage of observables (shareReplay, switchMap, distinctUntilChanged etc.)
- [Custom DOM Events](https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events)
- [CSS Custom Properties](https://developer.mozilla.org/en-US/docs/Web/CSS/--*)
- Data management using services
## Development server
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
## Code scaffolding
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
## Build
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
## Running unit tests
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
## Running end-to-end tests
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
## Further help
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
## Credits
https://www.e-booksdirectory.com/ – Book information and thumbnails.