# New FISApp UI
Code repository for FISApp UI project.    
Demo Site: [Financial Information System](https://fist.swopt.com)    
Current Angular Version: ^21.1.2    
**requires NodeJS version ^20.19.0 || ^22.12.0 || ^24.0.0   

## Getting Started
After cloning this project, checkout your project to the `dev` branch by running `git checkout origin/dev`.        
    
Initialize project by running `./init-project`. This will automatically install all required dependencies.   

It is recommended to run the `./clean-project` script whenever a new library is added.    
    
If you encounter the following error while trying to run `ng serve`, 
please run `./clean-project`.    
Alternatively, you may delete all contents of this folder: [your_project_directory]/src/dependencies/angularlib/node_modules/@angular    
You may do so by running    
Windows powershell:    
`rm -r -force src/dependencies/angularlib/node_modules/@angular`    
Linux/MacOS:    
`rm -rf src/dependencies/angularlib/node_modules/@angular`    
```
[ERROR] TS-993004: Unable to import class CommonModule.
  The symbol is not exported from [your_project_directory]/src/dependencies/angularlib/node_modules/@angular/common/index.d.ts (module '@angular/common'). [plugin angular-compiler]    
```    

## Project Dependencies
Project dependencies can be found in `src/dependencies`  
`angularlib` - SWOPT's angular library for commonly used components    
`dp-ui` - Domain Proxy library (UI version)      
etc...    
![Project dependencies location](https://cdn.swopt.com/media/images/ng-template/eg001.png)

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application 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.

## 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 a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
