Skip to content

benzabill/AndroidDev

Repository files navigation

  • Hello Neurable!
  • Here's my submission:
  • Your approach to solving the challenge.
    • To mimic the Neurable headphones product, first you must connect to a device. Then the data will begin collecting. The app gives feedback based on your EEG readings. You can pause and restart the data transfer.
    • We want this app to be highly reactive while interacting with data streams coming from other hardware. So I used an MVVM architecture to separate concerns like connecting to the device, collecting readings, and managing app UI.
    • To help separate concerns, I used the concept of a Repository as the data storage layer, and the UseCase as the business logic layer.
    • The Viewmodel handles the UI state and the interaction between the View and the UseCase, and in combination with LiveData allows easy lifecyle management.
  • Steps to build and run the app.
    • I've built the apk for your convenience: ben-tseytlin-app-submission.apk
    • A unit test for focus score generation: FocusScoreFlowTest
  • Any additional notes or assumptions.
    • This was my first time working with Jetpack Compose. I've always worked with XML and various binding systems. I thought it would be interesting to learn Jetpack Compose as it was requested for this exercise.
    • Obviously I kept it pretty limited on the UI side, but it satisfies the requirements as described!
    • I would be interested to learn more of the best practices with Jetpack Compose as there are clearly various ways to pass around data, state and callbacks.
    • Jetpack Compose was interesting and certainly is powerful. It was fun to be able to create (essentially) a recycler view with just a few lines of code, although Jetpack Compose is not without it's downsides.
    • I would add significantly more UI to this app: animations, icons (a pulsing EEG, for example), a flushed out navigation implementation including back button from the Bluetooth Connection screen.
  • Cheers, Ben

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages