For better code scaling, development, and testing speed the project was generated using Nx. Which is originally built on top of the Angular framework.
The application is divided into 4 internal projects f1-champions, f1-champions-e2e, core, and ergast. f1-champions is the main project which has core and egast lib dependencies. f1-champions-e2e is used for end-to-end testing
Container + Presentational design pattern are used with ChangeDetectionStrategy.OnPush
and async pipe. This library and component divisions makes the project more reusable and fast testable.
For unit, Jest framework and for e2e, Cypress are used.
For UI components primeng, primeicons, primeflex are used.
Clone and run npm i
. Make sure you are using node v16 or upper version
Run ng serve
for a dev server. Navigate to http://localhost:4200/.
Run nx run-many --target=test --all
to execute all tests
Run ng e2e --watch
to execute and watch the end-to-end tests
Run nx graph
to see a diagram of the dependencies of this projects.
Visit the Nx Documentation to learn more.