GithubHelp home page GithubHelp logo

rgskokos / the-drinking-buddy Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 10.73 MB

Personalized handheld breathalyzer you can carry with you anywhere you go. It will measure and compare you to statistics and allows for application personalization and cloud syncronization of data.

Java 98.89% C++ 1.11%
application breathalyzer health live monitoring safety selfcare statistics

the-drinking-buddy's People

Contributors

abhb2303 avatar linaism avatar mihaicolaru avatar rgskokos avatar simeonatanasovgit avatar

Stargazers

 avatar

Watchers

 avatar

the-drinking-buddy's Issues

UI-4.1 Login/registration page

Task description:
Create the initial page wherein the user can either register if they don't have an account, or log in if they already have an account. Once logged in, this page no longer appears.
Related epic: #35

HW-3.3 Retrieve data from sensor

Task description:
Fetch the data stored in the database from the sensor and output the result. The process of obtaining data from the sensor and outputting it should be achieved within a small time frame.
Related epic: #4

HW-3.1 Obtain data from sensor

Task description:
Send data over the preestablished Bluetooth communication channel. Acquire said data from the Bluetooth channel into the android app.
Related epic: #4

UI-4.5 Get user information from SQL database

Task description:
When a user logs in, get the password by username and ensure they match. The password must be de-hashed before being compared with the user input. If the information is accurate, the user is logged in.
Related epic: #35

COM-2.1 Set up input page

Task description:
This input page must be created and set up to be run once the user hits the "NEW BREATH" button on the main/home page so that they can add a new input.
Related epic: #34

COM-1.1 Establish hardware Bluetooth connection

Task description:
Get the ESP32 to connect to Bluetooth. This can be achieved using the built in Bluetooth property of the ESP32. Find and test Bluetooth communication libraries in the Arduino IDE.
Related epic: #2

UI-2.3 Graphical display

Task description:
Display all user inputs retrieved from SQL database in data plot with trendline.
Related epic: #32

UI-1.4 Display alcohol consumption result

Task description:
Once the button is pressed and the data is acquired, a message displaying the result in a user friendly way will indicate the user's current alcohol consumption level.
Related epic: #5

UI-2 Display samples over time

Epic
As a drinking buddy user, I want to obtain my long term data of consumption so that I can better control my alcohol consumption.

HW-4 Hardware size/look

Epic
As a drinking buddy user, I want the breathalyzer to be as small as possible so I can carry it with me wherever I go without feeling it.

UI-3.4 Refactor bar graph activity

Task description:
The statistical and user information are compared to one another so the user can see where they stand versus the general population. This is done largely on screen so they may see their results clearly.
Related epic: #33

HW-1.2 Make all the hardware connections

Task description:
Using the obtained hardware, connect the ESP32 with the sensor, switch and battery (although the battery will be omitted in the development process to save time and complexity). A breadboard can be used for making the relevant connections.
Related epic: #1

COM-1.2 Transmit data over Bluetooth

Task description:
Transmit data packets over the Bluetooth connection channel. Verify the reception and data integrity of the packets.
Related epic: #2

UI-1.3 Set up data retrieval button

Task description:
Create the home page of the android application with a button to intake the sensor data obtained. On click of the button, the data from the sensor should be retrieved from the database.
Related epic: #5

UI-3.1 Drink input activity

Task description:
Create an activity for drink inputs, separating the breath from the drink data. Users will be able to enter any number of drinks of 4 distinct categories, and the input will be saved to a new table in the database, with timestamp.
Related epic: #33

COM-2.5 Store read information to database

Task description:
Based on the coded conditions, only the specific information read during the previous task will be sent and stored within the database to be used with other tasks.
Related epic: #34

HW-2.2 Read and Parse Data from Sensor

Task description:
Write code to read data from sensor when triggered, establish mathematical correlation with sensor raw data and human readable values.
Related epic: #3

UI-4.3 Store user information in SQL database

Task description:
Once a user inputs their registration information, this information gets stored in an SQL table. If a user inputs an existing username, prompt the user to change their username. The password should be hashed before being stored in the database.
Related epic: #35

UI-4.4 Set up login page

Task description:
Create a login page for the user to input their username and password if they already have an account.
Related epic: #35

HW-2.3 Validate Sensor Data

Task description:
Establish testing framework to verify sensor accuracy and to make sure that the sensor is always calibrated.
Related epic: #3

UI-1 View result from breathalyzer input

Epic:
As a drinking buddy user, I want to view the result obtained with the click of a button so that I can be aware of my current alcohol consumption level.

UI-3.3 Refactor pie chart activity

Task description:
The pie chart activity will contain a pie chart of the drink types that were input by the user for that specific week, along with a listview of the drinks input for that week.
Related epic: #33

UI-1.2 Set up the home page

Task description:
Implement a home page with a menu bar and a layout following the design pattern established.
Related epic: #5

UI-1.1 Set Up Android Application

Task description:
Create the barebones structure of the android application with the general layout to be completed as more features get implemented.
Related epic: #5

COM-1 Establish Bluetooth connection

Epic:
As a user, I want the drinking buddy to connect to my phone via Bluetooth while using the app so I may always have my phone ready for a new breathalyzer input.

UI-4.6 Profile edit/view mode

Task description:
If the user is creating their profile for the first time or editing from an existing one, the display of the profile page varies.
Related epic: #35

HW-2 Measure blood alcohol level

Epic:
As a drinking buddy user, I want a sensor to measure my blood alcohol level so that I can obtain information regarding my alcohol consumption.

UI-4.2 Set up registration page

Task description:
Create an page to register the user and their new device. The registration page will require a username, password, email, and device ID.
Related epic: #35

UI-4 User Profile

Epic
As a person who has purchased the drinking buddy, I want to create a profile so that I can a more personal evaluation of my consumption.

HW-2.1 Connect and Test Sensor

Task description:
Configure GPIO port on the ESP32 to connect with the sensor, and read sensor inputs. The data obtained should be representative of the user's current alcohol consumption levels.
Related epic: #3

HW-1.1 Set Up ESP32 Environment

Task description:
Download the Arduino IDE, and test I/O pins on the ESP32 using basic LED circuits to verify proper functioning.
Related epic: #1

UI-3 Separate sensor reading from drink input

Epic
As a drinking buddy user, I want to have the results of the breathalyzer sensor and drinks I input in separate graphical displays, so the information generated and stored by the app can be more easily understandable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.