Have you ever realized you forgot something in the car and needed to quickly go back to get it but don't have the key? Or it might even be your parents/children/partner's car and you don't have the key for it. If there was only some way for a family to share access to all the cars in the household without having the physical key!
What it does
It allows users to join a family/group which then offers the ability for anyone in the family with a smartphone to unlock (and potentially locate) any car in the household.
How we built it
The Android app communicates using an REST API to an Microsoft Azure Functions App. The Functions App maintains "state" via a Cosmos DB and issues the commands to the smartcar API.
Challenges we ran into
For a group member, it was the first time creating an Android app, so learning about everything on the fly was a challenge. Azure Functions was also an interesting experience; the online editor was occasionally slow to respond and the container running the apps seems to die randomly (we only get ~500 processes and something keeps eating them up). Function's input and output piping also semi-limited the stuff we can do with DBs as we now have much less control over when to do these operations.
Accomplishments that we're proud of
- First Hackathon
- First Android app
- Writing our own mini-SDK for smartcar.
- Figuring out Cosmos DB integration with Functions
What we learned
- Android app development
- Android Studio
- You can't avoid state
What's next for KeyPass
- More utilities: better Geo-fencing for unlock/lock
- View location of all cars
- Find a buddy that has the exact same make, model, year as your car
- Role based privileges