# Futmachine

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.7.

## 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.


############

# BEFORE Installation:
- npm -v (minimum is 8.0.0)
- node --version (minimum is 20.9.0)
- brew upgrade node
- npm install

## Installation
- npm i -g @angular/cli

### Only once
- ng new futbase --no-standalone
    - Standalone is now the new default in v17 (no app.module.ts)

- cd futbase -> ng serve

## Install Bootstrap
- cd futbase
- npm i bootstrap @popperjs/core --save
- npm install bootstrap-icons

## Install Angular Material
- cd futbase
- ng add @angular/material

## Generate Dummy data
- cd futbase
- npm i @openapitools/openapi-generator-cli -D
- package.json: Scripts block:
    - "generate:api": "openapi-generator-cli generate -i ./openapi.yaml -g typescript-angular -o src/app/core/api/v1 -p=removeOperationIdPrefix=true"
- Java must be installed
- cd futbase

## Generate services from openapi.yaml
- run sh generateApi.sh
- (npm run generate:api
    - Wenn es nicht geht: brew install java
    - sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
    - java -version)
    - ACHTUNG: In Datei src/app/core/api/v1/model/partnerJsonId.ts diese zwei Zeilen löschen:
        - readonly type?: string;

## Module anlegen
- cd app
- ng g m registration --route register --module app.module

## Interesting Links
- https://openapi-generator.tech/docs/installation
- https://www.kevinboosten.dev/how-i-use-an-openapi-spec-in-my-angular-projects

- https://material.angular.io/
- https://ng-bootstrap.github.io/#/home
- https://medium.com/ngconf/new-input-binding-for-ngcomponentoutlet-cb18a86a739d
- https://ng-bootstrap.github.io/#/components/typeahead/examples

## Install for autogeneration of forms:
- brew install jq

