https://github.com/uiwebkit/ng-nx
https://github.com/uiwebkit/ng-nx
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/uiwebkit/ng-nx
- Owner: uiwebkit
- Created: 2024-10-21T17:16:30.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-16T10:49:26.000Z (about 1 year ago)
- Last Synced: 2025-01-16T12:09:09.535Z (about 1 year ago)
- Language: TypeScript
- Size: 259 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NgNx
I decided to do it for everyone who wants to appreciate my skills. Thank you!
## Task Description
Create an Angular application with a page of users. On this page we see users, sort them, perform search and have the ability to paginate if the list is too long.
## Acceptance Criteria
- User list is displayed under `/users` URL with the following columns:
- firstName
- lastName
- age
- address
- Search by firstName and lastName (case insensitive)
- Sorting by firstName, lastName and age
- Pagination
## Additional information
Used https://dummyjson.com/docs/users as an API.
- I placed everything in libraries and divided them to *-data and *-view.
- All code (business logic) should be placed in *-data and *-view should be 'dummy'
- Enable SSR and SSG for first page faster loading
- All components are standalone and are lazy loaded in app level
- Angular Material as components library (why? - official, the best)
- Tailwind CSS for declarative styling (fast and clear)
- Signals and NgRx Signals everywhere where it is possible (clean and maintainable code)
## Run tasks
To run the dev server for your app, use:
```sh
npx nx serve uni-users
```
To run storybook:
```sh
npx nx story uni-users
```
To run linter for all:
```sh
npx nx run-many -t lint --projects=* --parallel=5
```
To run unit tests for all:
```sh
npx nx run-many -t test --projects=* --parallel=5
```
To create a production bundle:
```sh
npx nx build uni-users
```
To see all available targets to run for a project, run:
```sh
npx npx nx show project uni-users
```
These targets are either [inferred automatically](https://nx.dev/concepts/inferred-tasks?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) or defined in the `project.json` or `package.json` files.