bakkenbaeck / doorbellbotnative Goto Github PK
View Code? Open in Web Editor NEWA Kotlin/Native app to open the door using Slack and a Raspberry Pi.
License: GNU General Public License v3.0
A Kotlin/Native app to open the door using Slack and a Raspberry Pi.
License: GNU General Public License v3.0
Add something which allows us to securely store access tokens or other settings which should not be stored unencrypted - Keychain on iOS, probably KeyStore
on Android.
Take Setup instructions from #3 and display them on iOS.
Hit APIs designated by @anskaal to send or receive information from Slack.
Hook up the viewModel from #10 to Android views
Set this up on a B&B account with fairly low limits.
Non-secure persisted settings - probably some kind of wrapper around User Defaults and SharedPreferences.
Take viewModel from #11 and create an iOS Screen with it
Setup Firebase Crashlytics on Android so we can get notified about crashes. Try to use a key from #27
Take setup instructions from #3 and display them on Android
Hit APIs designated by @anskaal to send or receive information from the modem service.
This covers setting up a basic project which runs "hello world" on iOS and Android apps using Kotlin Native. A tutorial for doing this can be found here: https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html
1 - Follow up: Where are we storing these, on the modem service?
No API keys for script kiddies! We should figure out a way to do this then document it.
This will allow us to automatically remove notifications which no longer require action, or at least update them to note that the person was let in.
Setup Firebase Crashlytics on iOS so we can get notified about crashes. Try to use a key based on #27
Set up a view model for the various pages of instructions to get Doorbell Bot set up.
Initial research led to some issues with ktor, but that was before the official release of Kotlin 1.3 and the Native beta. Determine:
ktor
without coroutines?ktor
for Raspberry Pi if neither of the above are happening?Hook up the viewModel from #10 to iOS views
We want to use Firebase push notifications for the sake of not having to set up our own push server which can hit both iOS and Android.
Take viewModel from #11 and create an iOS Screen with it
We should try to keep localization contained within the native core.
Create a ViewModel for an Open Door screen.
Once #1 is done, set up shared networking to allow iOS and Android to GET / POST / PATCH / PUT / DELETE data easily from an arbitrary base URL.
ktor
, use thatexpect fun
to set up ways to access things on different platforms.Shared view model for settings:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.