This repo represents an android app with webRTC functionality that let's you communicate with a realtime open.ai model, utilizes Room for local route storing and auth0 for handling user credentials when entering the app.
This app is very barebones as my focus was just on functionality, ideally I would've made it prettier at some point but the functionality list kept getting longer and longer, some notable areas that would be of interest are:
webRTC- this directory implements webRTC connection between the client and the openai server. This took quite sometime to setup as there is no simple way to setup webRTC on android. Nonetheless this should be helpful for anyone who's interested in adding similar functionality to their own app.
`
ConversationDatabase.kt - this is a good starting point for those interested in how i implemented local storage using Room, you would start here for conversations and enter individual storing of the messages.
RetrofitClient.kt - a good starting point for those interested in setting up HTTP requests on android using okhttp3 as well as converting data in a way that can be sent/read through retrofit
For login functionality you'll need to create an auth0 account and provide the necessary credentials here. I recommend reading up on setting up auth0 on android native as well
You'll also want to setup a backend that will provide you an ephemeral key from openai to gain access to the realtime open.ai model, I've provided the backend source code as well here.
