A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted outputs-and displays accurate measurements.

Overview

Measure App

A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted outputs-and displays accurate measurements.

Inspiration

We have taken inspiration from how iOS has its own exclusive app to measure dimensions. Though Android possesses the capability to house in the same set of features, there is no such official app for the same. Different applications are required to deal with different dimensions. Here, we have tried to make it all possible by creating a single application to measure different dimensions.

What it does

The app we built does what it reads i.e. measures. The core principle of the application makes use of all sensors built into the phone by default. The app provides the users with a vast variety of dimensions to choose from. The different options provided are:

  • Speedometer : Accelerometer Sensor
  • Compass : Accelerometer and Magnetic Field Sensor
  • Tilt : Game Rotation Vector Sensor
  • Light sensor : Ambient Light Sensor
  • Stop watch : Programming Code
  • Dimensions(height,width) : Linear Accelerometer Sensor

How we built it

  • Kotlin basic course - Google Developer's Website
  • Youtube tutorials - conversion of raw sensor data into usable readings
  • Figma docs reference - UI/UX and Application Design

Challenges we ran into

  1. Processing and converting raw sensor data into usable data.
  2. Integration of multiple pages of the app together.
  3. Detection of length using augmented reality and accelerometer sensors.
  4. Using complex functions with intermediate knowledge in Kotlin.

Accomplishments that we're proud of

Built an app from scratch within the stipulated time, which accurately measures readings using relevant sensors, converts raw sensor data into human readable format and displays accurate readings, all while providing a neat and clean aesthetic look while using less resources from the phone.

What we learned

  1. Integration of sensors present in the phone with the app.
  2. Conversion and processing of raw sensor data into usable data formats.
  3. UI/UX design using Figma.
  4. Kotlin Android App Development.
  5. Android Studio.
  6. Anatomy of a smartphone - based on sensors.

What's next for MEASURE

We plan to include even more feature in the upcoming releases, such as:

  1. Support for measuring sound intensity - Uses the microphone for the input and measures the intensity in decibels.
  2. Mobile Device Statistics- Network strength , Device temperature and Battery Health.

Measure Application UI

Start_Page

Inclination

Start_Page

Dimensions

Start_Page

Light Sensor

Start_Page

Speedometer

Start_Page

Compass

Start_Page

Stopwatch

Start_Page

Contributing to Measure App

Hello and welcome! We are so glad that you are interested in contributing to the Measure App! We only have a couple of rules and we hope you enjoy the process :)

Contributing Rules

  1. Don't move or delete any files. Only modify them.
  2. Put all Back End codes in the measure file.
  3. Put all Front End codes in the layout file.
  4. All contributions have points assigned to them (All details regarding points will be mentioned in each of the issues created).
  5. Creating issues counts in as a contribution and earns you points too! (points are assigned based on the issue created).

Contributing Process

  1. Fork the repository
  2. Clone your forked repository to your computer
  3. Head to the issues tab and look for an issue that you like.
  4. Once you have decided what issue to work on, give it a shot!
  5. Once done, push the code to your forked repository.
  6. Head to the Pull Requests tab and click on "Create New Pull Request"
  7. On the left of the arrow should be this repo and on the right should be yours.
  8. Add a small description to the Pull Request describing what you've done.
  9. Mention what Issue you have worked on. If the issue number is #3, you can mention "Closes #3" in the Pull Request description.
  10. Submit Pull Request

It's that easy! We hope you enjoy contributing to our repository. Don't hesitate to contact any of the maintainers or ACM team about any problems!

This is an official repository maintained by ACM PESUECC for Hacktoberfest 2021!

You might also like...
Detailing about the data provided (Data Visualization Application)

Detailing about the data provided (Data Visualization Application): • In the application, the data provided in the CSV is used for the Scatter plot cr

Clean MVVM with eliminating the usage of context from view models by introducing hilt for DI and sealed classes for displaying Errors in views using shared flows (one time event), and Stateflow for data

Clean ViewModel with Sealed Classes Following are the purposes of this repo Showing how you can remove the need of context in ViewModels. I. By using

A deep learning based mobile application for the multi-class classification of pneumonia into three categories via Chest X-rays

PneumoniaClassifier A deep learning based mobile application for the multi-class classification of pneumonia into three categories via Chest X-rays. W

MiStoryView is a simple configurable library to integrate stories features into your social media android application.
MiStoryView is a simple configurable library to integrate stories features into your social media android application.

MiStoryView MiStoryView is a simple configurable library to integrate stories features into your social media android application. Preview Key feature

Accounting-App - An Android app built with Kotlin, Material, Jetpack Compose, Hilt, Room, Coroutines, Data-Store, MVVM-Clean Architecture and JUnit tests
This is an example of a simple application with layered software base on clean-architecture as application architecture and mvvm as presentation architecture

This is an example of a simple application with layered software base on clean-architecture as application architecture and mvvm as presentation archi

Event-driven application uses React, reactive Spring Boot WebFlux, R2DBC, MySQL and Liquibase

Product delivery Event-driven application uses React, reactive Spring Boot WebFlux, R2DBC, MySQL and Liquibase Status: IN PROGRESS if [[ "" != `docker

Use Android Data Binding wih Live Data to glue View Model and Android

Gruop-C Spliff Summary Use Android Data Binding wih Live Data to glue View Model and Android. Asynchronous communications implemented with KotlinX Cor

Comments
  • Implement a Phone Statistics Sensor

    Implement a Phone Statistics Sensor

    ONLY 5 PR's ACCEPTED DURING BOOST PERIOD. 20 ADDITIONAL BOUNTY POINTS SHALL BE AWARDED DURING THIS PERIOD. RULES FOR LIMIT OF PR'S BEING ACCEPTED BELOW STAND INVALID DURING THIS PERIOD

    Description

    The Measure App lacks a Mobile Device Statistics Sensor. Head over to the measure folder to take a glance at the other sensors implemented.

    Suggested Fix

    Implement a Mobile Device Statistics Sensor (Measures device Temperature, Signal Strength, Battery Health.) An User Interface(UI) must be added to the Mobile Device Statistics Sensor. (follow codes used for making other pages in the layout folder).

    Note

    The Mobile Device Statistics Sensor parameters mentioned above (Device Temperature, Signal Strength and Battery Health) are the minimal requirements to be implemented. Any other relevant parameters can be included and will count in towards bounty allocation.

    Tasks

    We suggest you to read through the CONTRIBUTING.md file before you continue.

    1. Implement a Mobile Device Statistics Sensor.
    2. Run the code on your local computer, to test for Code Functionality. (This is applicable only if you have Android Studio set up on your computer. If not, Skip this step)
    3. Once you think you're ready, upload the code back to the folder mentioned in the description above - follow all the steps mentioned in the CONTRIBUTING.md file.

    Bounty Rules

    The score are split into three types, in order of increasing rarity.

    • Bounty Points (common to all issues) - 110 Points
    • Brownie Points (for some of the PRs into which more effort went) - 5 Points
    • Enthusiasm Points (for the PRs that went above and beyond) - 10 Points

    Limit For Acceptance of PR's

    • Bounty Points will be awarded to all successfully accepted PR's.
    • The first 5 successfully accepted PR's will be awarded with extra Brownie Points.
    • Enthusiasm Points will be awarded before the event closes. (All successfully accepted PR's are eligible for Enthusiasm Points)

    Resources

    Make sure to check out the link below if you feel lost at any point in time.

    • https://developer.android.com/guide/topics/sensors/sensors_overview#:~:text=%20Best%20Practices%20for%20Accessing%20and%20Using%20Sensors,which%20means%20the%20system%20may%20call...%20More%20
    enhancement medium kotlin hacktoberfest BOUNTY 110+ 
    opened by manab-kb 0
  • Implement a Sound Sensor

    Implement a Sound Sensor

    ONLY 5 PR's ACCEPTED DURING BOOST PERIOD. 20 ADDITIONAL BOUNTY POINTS SHALL BE AWARDED DURING THIS PERIOD. RULES FOR LIMIT OF PR'S BEING ACCEPTED BELOW STAND INVALID DURING THIS PERIOD

    Description

    The Measure App lacks a Sound Sensor. Head over to the measure folder to take a glance at the other sensors implemented.

    Suggested Fix

    Implement a Sound Sensor. An User Interface(UI) must be added to the sound sensor. (follow codes used for making other pages in the layout folder).

    Tasks

    We suggest you to read through the CONTRIBUTING.md file before you continue.

    1. Implement a Sound Sensor.
    2. Run the code on your local computer, to test for Code Functionality. (This is applicable only if you have Android Studio set up on your computer. If not, Skip this step)
    3. Once you think you're ready, upload the code back to the folder mentioned in the description above - follow all the steps mentioned in the CONTRIBUTING.md file.

    Bounty Rules

    The score are split into three types, in order of increasing rarity.

    • Bounty Points (common to all issues) - 110 Points
    • Brownie Points (for some of the PRs into which more effort went) - 5 Points
    • Enthusiasm Points (for the PRs that went above and beyond) - 10 Points

    Limit For Acceptance of PR's

    • Bounty Points will be awarded to all successfully accepted PR's.
    • The first 3 successfully accepted PR's will be awarded with extra Brownie Points.
    • Enthusiasm Points will be awarded before the event closes. (All successfully accepted PR's are eligible for Enthusiasm Points)

    Resources

    Make sure to check out the link below if you feel lost at any point in time.

    • https://developer.android.com/guide/topics/sensors/sensors_overview#:~:text=%20Best%20Practices%20for%20Accessing%20and%20Using%20Sensors,which%20means%20the%20system%20may%20call...%20More%20
    enhancement medium kotlin hacktoberfest BOUNTY 110+ 
    opened by manab-kb 1
  • Implement measurements without AR

    Implement measurements without AR

    ONLY 5 PR's ACCEPTED DURING BOOST PERIOD. 20 ADDITIONAL BOUNTY POINTS SHALL BE AWARDED DURING THIS PERIOD. RULES FOR LIMIT OF PR'S BEING ACCEPTED BELOW STAND INVALID DURING THIS PERIOD

    Description

    The Dimensions Measuring tool, implemented in the MainActivity3.kt file, present under the measure folder displays inaccurate dimensions.

    Suggested Fix

    Develop a Dimensions Measuring tool and integrate it with the code present in the file mentioned above. (Once successfully completed, the Dimensions Measuring tool should be able to produce accurate results, without the use of Augmented Reality (AR)

    Tasks

    We suggest you to read through the CONTRIBUTING.md file before you continue.

    1. Develop a Dimensions Measuring tool and integrate it with the code present in the file mentioned above (Without Using Augmented Reality (AR)
    2. Run the code on your local computer, to test for Code Functionality. (This is applicable only if you have Android Studio set up on your computer. If not, Skip this step)
    3. Once you think you're ready, upload the code back to the folder mentioned in the description above - follow all the steps mentioned in the CONTRIBUTING.md file.

    Bounty Rules

    The score are split into three types, in order of increasing rarity.

    • Bounty Points (common to all issues) - 110 Points
    • Brownie Points (for some of the PRs into which more effort went) - 10 Points
    • Enthusiasm Points (for the PRs that went above and beyond) - 10 Points

    Limit For Acceptance of PR's

    • Bounty Points will be awarded to all successfully accepted PR's.
    • The first 5 successfully accepted PR's will be awarded with extra Brownie Points.
    • Enthusiasm Points will be awarded before the event closes. (All successfully accepted PR's are eligible for Enthusiasm Points)

    Resources

    Make sure to check out the link below if you feel lost at any point in time.

    • https://developer.android.com/guide/topics/sensors/sensors_overview#:~:text=%20Best%20Practices%20for%20Accessing%20and%20Using%20Sensors,which%20means%20the%20system%20may%20call...%20More%20
    bug medium kotlin hacktoberfest BOUNTY 110+ 
    opened by manab-kb 0
  • Fix Speedometer Accuracy

    Fix Speedometer Accuracy

    ONLY 5 PR's ACCEPTED DURING BOOST PERIOD. 15 ADDITIONAL BOUNTY POINTS SHALL BE AWARDED DURING THIS PERIOD. RULES FOR LIMIT OF PR'S BEING ACCEPTED BELOW STAND INVALID DURING THIS PERIOD

    Description

    The Speedometer, implemented in the MainActivity5.kt file, present under the measure folder displays inaccurate speed data.

    Suggested Fix

    Add fixes to the code present in the above mentioned file, to obtain accurate speed data from the speedometer.

    Tasks

    We suggest you to read through the CONTRIBUTING.md file before you continue.

    1. Add fixes to the code present in the above mentioned file.
    2. Run the code on your local computer, to test for Code Functionality. (This is applicable only if you have Android Studio set up on your computer. If not, Skip this step)
    3. Once you think you're ready, upload the code back to the folder mentioned in the description above - follow all the steps mentioned in the CONTRIBUTING.md file.

    Bounty Rules

    The score are split into three types, in order of increasing rarity.

    • Bounty Points (common to all issues) - 80 Points
    • Brownie Points (for some of the PRs into which more effort went) - 10 Points
    • Enthusiasm Points (for the PRs that went above and beyond) - 10 Points

    Limit For Acceptance of PR's

    • Bounty Points will be awarded to all successfully accepted PR's.
    • The first 5 successfully accepted PR's will be awarded with extra Brownie Points.
    • Enthusiasm Points will be awarded before the event closes. (All successfully accepted PR's are eligible for Enthusiasm Points)

    Resources

    Make sure to check out the link below if you feel lost at any point in time.

    • https://developer.android.com/guide/topics/sensors/sensors_overview#:~:text=%20Best%20Practices%20for%20Accessing%20and%20Using%20Sensors,which%20means%20the%20system%20may%20call...%20More%20
    bug medium kotlin hacktoberfest BOUNTY 80+ 
    opened by manab-kb 2
Owner
ACM Student Chapter, PESU ECC
Official GitHub profile of ACM PESU-ECC
ACM Student Chapter, PESU ECC
FirestoreCleanArchitectureApp is an app built with Kotlin and Firestore that displays data in real-time using the MVVM Architecture Pattern. For the UI it uses Jetpack Compose, Android's modern toolkit for building native UI.

FirestoreCleanArchitectureApp FirestoreCleanArchitectureApp is an app built with Kotlin and Cloud Firestore that displays data in real-time using Andr

Alex 66 Dec 15, 2022
A lightweight Kotlin library which converts images to PixelArt in Android.

PixelArtImageView PixelArtImageView is a lightweight library used to convert standalone images into pixel art. The view extends ImageView behaviour an

Josh Owen 2 May 15, 2022
Chain Relations is a small casual existential game about life, human needs and long-term relations.

Chain Relations Chain Relations is a small casual existential game about life, human needs and long-term relations. ChainRelations.360p.mp4 Game objec

Andrzej Novosiolov 4 Dec 2, 2022
An Android app that scans images or human faces in real time and detects whether the mask is worn or not, with the ability to set an audible alert

Swift Mask Real time face mask detection Brief overview Swift Mask scans images or human faces in real time and detects whether the mask is worn or no

Giorgio Cantoni 4 Sep 22, 2022
Android human matting demo infer by ncnn

ncnn_Android_modnet Android human matting demo infer by ncnn the model from MODNet: Trimap-Free Portrait Matting in Real Time support model 1.mobilene

FeiGeChuanShu 43 Jan 4, 2023
Distance Sensor Localization Library created by FTC 16439, AlphaGo

AGDistanceLocalization A simple and easy-to-use library, written in Kotlin, to aid in the process of localizing your robot using Distance Sensors! Thi

AlphaGo 3 Nov 3, 2022
The Okila server project uses the Spring boot framework and uses the Kotlin language

Okila-Server The Okila server project uses the Spring boot framework and uses the Kotlin language Format Response //The response successfully format

Nankai 1 Oct 25, 2021
Basic application that uses Retrofit, Moshi and Coil libraries to parse data from web API

DogAlbum_Api_CodeThrough Basic application that uses Retrofit, Moshi and Coil libraries to parse data from web API This folder contains the completed

Ayana Bando 0 Nov 9, 2021
myMaps displays a list of maps, each of which show user-defined markers with a title, description, and location.

My Maps Trevor Carrell myMaps displays a list of maps, each of which show user-defined markers with a title, description, and location. The user can a

null 0 Nov 1, 2021
Simple Kotlin application that displays the currently available network interfaces on your machine

Network-Interface-Checker Simple Kotlin application that displays the currently available network interfaces on your machine. An executable jar can be

Joshua Soberg 3 Jun 10, 2022