A Jetpack compose Barcode scanner using the Google MLkit for Barcode Scanning
Android Take Home Assignment
This is a take home assignment for an Android developer applying to IDFlo
Introduction
For this assignment, you need to do the following:
- Create a new Android app
- Ask for permissions from the user to get location & use camera view.
- Grab the location of the user before allowing the user to interact with the app.
- Create a button and center it in the screen
- Clicking on this button should open up a camera view
- When you scan a barcode, you should get the value of the barcode back
- If the barcode is more than 10 characters long, show the following lottie animation in the middle of the screen: https://lottiefiles.com/65222-tick
- If the barcode is less than 10 characters long, show the following lottie animation in the middle of the screen: https://lottiefiles.com/34313-failure-error-icon
- Store all barcodes greater than 10 characters long, locally using Room DB. These barcodes should also be shown on a bottom sheet in the same activity as the camera view
Once you’re done, fork this GitHub repository and upload the code there. Share the link to the repository.
Note: You are free to use whatever libraries you want for this project
You will be judged on the following criteria:
- Your ability to clearly understand the instructions laid out in the assignment and ask questions to clear up any doubts
- Your ability to architect your code in a way that is scalable.
- The readability of your code. You can choose to emphasize the readability either through code style or documentation.