/Binary-Calculator

2020 Group Binary Calculator Assignment

Primary LanguageJava

Binary-Calculator

2020 Group Binary Calculator Assignment

Dependencies

  Maven
  JUnit 4
  JavaFX 14

Project Overview

Press the '1' and '0' buttons to input your binary number, then press the desired operation and input the next binary number. Press equals to get the result, you may toggle this with the 'binary/decimal toggle' button to view it in decimal. The clear button will clear all inputs.

  Opening screen

Opening Screen

  Inputting expression

Inputting Expression

  Expression Output

Addition Output

  Toggle output to decimal

Toggle Decimal

  Clearing Calculator

Clear Calculator

  A Gif of the calculator being used

Useage Gif

Task Distrbution

  Chase & Collin  = Create the interface
  Chase & Collin = Call the backend functions into the interface
  Chase & Collin = Ensure that invalid input is handled
  Casey = Multiplication function, with unit tests
  Casey = Division function, with unit tests
  Jaden = Addition function with unit tests
  Jaden = Subtraction function, with unit tests
  Jaden = ReadMe file updates and meeting note recorder
  Chunxiang Yu = Square Root function, with unit tests
  Chunxiang Yu = Squarefunction, with unit tests
  Chunxiang Yu = Conversion between decimal and binary, with unit tests

First Meeting 9/7/2020 7 p.m.

Attendance (All Present):

Jaden Drury
Chunxiang Yu
Collin Stiner
Casey Haskins
Chase Watkins

Medium:

Zoom video call

Discussion:

Division of work
General plan for the week

Front end (Chase) (Collin):
    - Create the interface
    - Call the backend functions into the interface
        - Ensure that invalid input is handled
Backend:
  - Multiplication, with unit tests  (Casey)
  - Division, with unit tests  (Casey)
  - Addition, with unit tests (Jaden)
  - Subtraction, with unit tests (Jaden)
  - Square Root, with unit tests (Chunxiang Yu)
  - Square, with unit tests (Chunxiang Yu)
  - Conversion between decimal and binary, with unit tests (Chunxiang Yu)
      - Sanity test

- We plan to use distributed git flow for the backend work, and pair programming on the front end.
- CamelCase and curly braces on the same line as methods {}
- Descriptive variable names
- We need to create an initial commit with some java classes that will be what people work out of 
  Operations class with individual methods in it (Casey)

Meeting 2:

Chase Watkins
Collin Stiner

Time: 5:00pm - 6:35pm September 8th

Medium: Discord call (paired programming)

Work done:

Configured pom.xml file to work with JavaFX
Added buttons and labels to fxml file
Created UI branch
Discussed how to approach UI controller distributively

Meeting 3:

Medium: google meet

Time: 7 pm

Attendance:

Jaden Drury
Chunxiang Yu
Collin Stiner
Casey Haskins

- Progress update on current state of project and what needs to get done before due on Friday.
- Individual check in about currently open pull requests and any problems that need addressed.
- Merge in pull requests that have been approved and test on individual machines to ensure project still works as in tended and tests still pass.
- Discuss the need to UI changes including moving the format to have the view port present on the top and a clear button to better fit standard calculator use.
- Clarification on output types of functions to be integers and the use of curly braces on the same line as the declared function.

Meeting 4:

Attendance:

Chase Watkins
Collin Stiner

Time: 2pm - 4:30pm September 10th

Medium: Discord call (paired programming)

Work done:
  Added methods for operation buttons
  Added method for toggle view button
  Got the display to function properly

Meeting 5:

Attendance:

Jaden Drury
Chunxiang Yu
Collin Stiner
Casey Haskins
Chase Watkins

Time: 11 am September 11th

Discussion:

Reviewing work since last team meeting
Testing newly committed code and merging into master
Discussing final steps to be done before tonight
Confirming everyone has made commits