Git Product home page Git Product logo

intervaltimer's Introduction

Welcome

Hi, welcome to my README! My name is Jacob and I love OSS. While I'm not the most prolific contributor to other's projects, I like to make my own projects open source so that others can use and (hopefully) learn from them.

Products

Projects intended for consumption by the masses

Libraries

Projects intended to be used by other developers in their own projects

Graveyard

Unfinished projects that I have little to no intention of coming back to but am proud of nonetheless

intervaltimer's People

Contributors

brycesmrecek avatar jacobhearst avatar ryan-moeller21 avatar ryleemh avatar

Stargazers

 avatar

intervaltimer's Issues

Create query for selecting unique intervals

We need to add a query to the interval Dao that will select unique intervals and alphabetizes them. I wrote a SQL query that should work.

SELECT DISTINCT i_name FROM interval ORDER BY i_name

I can't remember if we also wanted to add favorites to intervals but if we do, we can just add the sorting to the SQL query so we don't have to deal with it in kotlin

Integration Testing Plan [WIP]

We currently have 0 integration tests so I decided to create an outline of all the things that need to be tested, and organized them by the screen they start on.

  • Workout List Screen

    • Create workouts
      • Plus button opens modal
      • Input is validated
      • Cancel button closes modal
      • Add button adds a new workout and displays it
    • View workouts
      • Workouts are being displayed properly (proper formatting, favorite button is right)
    • Update workouts (TODO: Missing implementation)
    • Delete workouts
      • Swiping a workout removes it
      • Undo button re-inserts correctly
  • Interval List Screen

    • Create intervals
      • Plus button opens modal (modal should be tested separately)
    • View intervals
      • Intervals are being displayed properly
    • Update intervals (TODO: Missing implementation)
    • Delete intervals
      • Swiping an interval removes it
      • Undo button re-inserts correctly (ORDER MATTERS)
    • Start button brings you to the timer screen

Interval Modal crashes on save

If you attempt to edit an interval, and then press the "add" button, it crashes due to a null pointer. The issue is on line 124 and seems to be related to how arguments are passed in.

Set up initial database

I'm going off of Rylee's ER diagram from the project document for the entities, with the exception of the i_guid field on the workout entity because I don't think it makes sense for us to have a foreign key to a single interval on a workout. This is my plan for the Daos:

Workout:

  • insert(vararg workout: Workout): Insert 1 or more workouts
  • getAll(): LiveData<List<Workout>>: Retrieve all workouts from the database
  • update(workout: Workout): Update a workout in the database (will update the entire row, not just changed properties)
  • delete(workout: Workout): Delete a workout

Interval:

  • insert(vararg interval: Interval): Insert an interval
  • getByWorkout(workoutId: Int): LiveData<List<Interval>>: Retrieves all intervals for a specified workout
  • update(interval: Interval): Update an interval
  • delete(interval: Interval): Delete an interval

I didn't really see a reason to create queries for selecting a single workout or a single interval since I figure any time that we need the data from just one workout/interval we'll already have the data and just need to pass it around. Thoughts? Anything I missed?

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.