# openvidu-insecure-angular
This is the Angular version of _openvidu-insecure-js_. Try it if you plan to use Angular framework for your frontend.
## Understanding this example
OpenVidu is composed by the three modules displayed on the image above in its insecure version.
- **openvidu-browser**: NPM package for your Angular app. It allows you to manage your video-calls straight away from your clients
- **openvidu-server**: Java application that controls Kurento Media Server
- **Kurento Media Server**: server that handles low level operations of media flow transmissions
> You will only have to make use of **openvidu-browser** NPM package to get this sample app working
## Executing this example
1. Clone the repo:
```bash
git clone https://github.com/OpenVidu/openvidu-tutorials.git
```
2. You will need angular-cli to serve the Angular frontend. You can install it with the following command:
```bash
npm install -g @angular/cli
```
3. To run the sample application, execute the following command in the project:
```bash
cd openvidu-insecure-angular
npm install
ng serve
```
4. _openvidu-server_ and _Kurento Media Server_ must be up and running in your development machine. The easiest way is running this Docker container which wraps both of them (you will need [Docker CE](https://store.docker.com/search?type=edition&offering=community)):
```bash
docker run -p 8443:8443 --rm -e KMS_STUN_IP=193.147.51.12 -e KMS_STUN_PORT=3478 -e openvidu.security=false openvidu/openvidu-server-kms
```
5. Go to [`localhost:4200`](http://localhost:4200) to test the app once the server is running. The first time you use the docker container, an alert message will suggest you accept the self-signed certificate of _openvidu-server_ when you first try to join a video-call.
## Understanding the code
This is an Angular project generated with angular-cli, and therefore you will see lots of configuration files and other stuff that doesn't really matter to us. After getting `openvidu-browser` NPM package (`npm install openvidu-browser`), we will focus on the following files under `src/app/` folder:
- `app.component.ts`: AppComponent, main component of the app. It contains the functionalities for joining a video-call and for handling the video-calls themselves.
- `app.component.html`: HTML for AppComponent.
- `app.component.css`: CSS for AppComponent.
- `stream.component.css`: StreamComponent, auxiliary component to manage Stream objects on our own. It wraps the final HTML `