Skip to content
technicalaffiliate edited this page Oct 27, 2018 · 8 revisions

Welcome to the screening-ui wiki!


Our primary goal on the UI team for the 1807 batch was to separate the candidate screening feature from Caliber, originally a component of the Janus web-app, into it's own standalone application. To do this much, restructuring of the code-base's layout had to be done to make the separable parts of the app clear. We aimed to make the structure, and the functionality it encapsulates much more obvious to future developers, without rewriting the web-app entirely. The following directories are the important segments of the application.

  1. Components: Standard Angular components which represent represent the base functionality of a particular page (or page portion).
  2. Entities: JSON objects that represent the entities available in our database. These are used for packaging our data so our logic is much clearer when modifying persistent data.
  3. Services: This layer provides the functionality for communicating with your applications exposed endpoints. This layer uses environments (located in the app directory), to route requests to the proper endpoint.
  4. Pipes: Tools for formatting and filtering, used by various services.
  5. Environments: Configures endpoints in a highly modular way, as JSON objects, making modification of endpoints fairly straightforward. In general, modifying 'context' modifies the base URL, where each entity/service will likely also have it's own object that specifies the end of the URL.

We suggest keeping the simplicity of this arrangement to keep the job of refactoring and improving straightforward for all future batches.

Package Dependencies

Below is the current list of npm packages that should be installed before launching the app.

1.@ng-bootstrap/ng-bootstrap (npm install --save @ng-bootstrap/ng-bootstrap ).

2.ngx-pagination (npm install --save ngx-pagination).

3.Some features rely on angular2-notifications however this module is not integrated with Angular 6. A possible replacement may be angular-notifier https://www.npmjs.com/package/angular-notifier.

5.Jasmine (for writing tests).

6.Karma (for running tests in various browser environments and getting diagnostic data).

Proceed to Application Flow

Errors

If you receive this error: node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Observable'.

Simply run this command while in the screening-ui folder: npm install rxjs@6 rxjs-compat@6 --save

More information can be found about this error at: https://github.com/ReactiveX/rxjs/issues/3654

Clone this wiki locally