# Demo App & Resources

{% hint style="info" %}
Before playing with any demo, make sure you have a registrered user account on the ApiRTC Console.

[Register on https://cloud.apirtc.com](https://cloud.apirtc.com/register)
{% endhint %}

## The Demo App

The ApiRTC demo web application is based on ![Angular](/files/zCWfC5Rjh7YU5rZ4IgvG)Angular and demonstrates the features of the ApiRTC![JS](/files/kTTU1cws6J5ojsJnFgwM) javascript library.

The user interface is designed as a step-by-step process, putting one API method behind every button.

Check the [running webapp](https://apirtc.github.io/ApiRTC-ng-demo) and its full [source code](https://github.com/ApiRTC/ApiRTC-ng-demo) on GitHub.

Feel free to use this demo as an example to develop your own ApiRTC web app.

<figure><img src="/files/2OxSA7xTIavRJEfbv4oX" alt=""><figcaption><p>The fully-featured ApiRTC demo app</p></figcaption></figure>

## Code Examples

Find all the demos on the [dedicated github repo](https://github.com/ApiRTC/ApiRTC-examples).

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Conversation</strong></td><td>Create multi-party conversation with audio and video</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing">Code</a>> &#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing/index.html">Run Demo</a>></td><td><a href="/files/SERgYhZqvxlMCbukfFFp">/files/SERgYhZqvxlMCbukfFFp</a></td></tr><tr><td><strong>Device selection</strong></td><td>Establish multi-party conversation and select your media devices</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_select_media">Code</a>> &#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_select_media/index.html">Run Demo</a>></td><td><a href="/files/KGAAObDLC6Z89q4MJNYp">/files/KGAAObDLC6Z89q4MJNYp</a></td></tr><tr><td><strong>Active speaker</strong></td><td>Conversation with QoS Monitoring and active speaker detection</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_QoSInfoDisplay">Code</a>> &#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_QoSInfoDisplay/index.html">Run Demo</a>></td><td><a href="/files/pxz7fDN5o9S8ZxGnv0Kn">/files/pxz7fDN5o9S8ZxGnv0Kn</a></td></tr><tr><td><strong>Media muting and screen sharing</strong></td><td>Learn how to mute your local audio/video streams and share your screen in a conversation</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_mute_screen">Code</a>> &#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_mute_screen/index.html">Run Demo</a>></td><td><a href="/files/taiLUjddBFRe4wjIIgWE">/files/taiLUjddBFRe4wjIIgWE</a></td></tr><tr><td><strong>Chat</strong></td><td>Exchange chat messages between all users in a conversation</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_chat">Code</a>> &#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_chat/index.html">Run Demo</a>></td><td><a href="/files/zzqw1WBK2NaaR595DMkp">/files/zzqw1WBK2NaaR595DMkp</a></td></tr><tr><td><strong>Whiteboard</strong></td><td>Learn how to start a multi-party whiteboard on a conversation</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_whiteboard">Code</a>> &#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_whiteboard/index.html">Run Demo</a>></td><td><a href="/files/9Xo2LVddBEavtsw4Qnki">/files/9Xo2LVddBEavtsw4Qnki</a></td></tr><tr><td><strong>Whiteboard invite</strong></td><td>Learn how to start a Whiteboard and invite users</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_whiteboard_invitation">Code</a>&#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_whiteboard_invitation/index.html">Run Demo</a>></td><td><a href="/files/wSJfo18veOb9vAalICuN">/files/wSJfo18veOb9vAalICuN</a></td></tr><tr><td><strong>Advanced streams selection/pub/sub</strong></td><td>Learn how to select streams and media type on publish and subscribe</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_mute_screen_advanced-PUB-SUB">Code</a>&#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_mute_screen_advanced-PUB-SUB/index.html">Run Demo</a>></td><td><a href="/files/shYQ0cgFnO0Ez5VGRaZs">/files/shYQ0cgFnO0Ez5VGRaZs</a></td></tr><tr><td><strong>Join/Leave</strong></td><td>Learn how to join / leave a conversation</td><td>&#x3C;<a href="https://github.com/ApiRTC/ApiRTC-examples/tree/master/conferencing_join-leave">Code</a>> &#x3C; <a href="https://apirtc.github.io/ApiRTC-examples/conferencing_join-leave/index.html">Run Demo</a>></td><td><a href="/files/q3n22n6gRTHNkGQmxwTS">/files/q3n22n6gRTHNkGQmxwTS</a></td></tr></tbody></table>

Feel free to [raise issue on the GitHub repo](https://github.com/ApiRTC/ApiRTC-examples/issues) if needed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dev.apirtc.com/apirtc-developer-portal/apirtc-js-library/demo-app-and-resources.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
