autoreleasefool / approach Goto Github PK
View Code? Open in Web Editor NEWAn iOS and Android app to track 5-pin bowling statistics
Home Page: https://tryapproach.app
An iOS and Android app to track 5-pin bowling statistics
Home Page: https://tryapproach.app
Requested by users to include as it improved the overall experience of using the application. Possibly include an option in the preferences to disable them.
Currently, the app is locked in portrait mode. This should be disabled on tablets and a layout setup for when a tablet is being used in landscape mode.
By replacing the snackbar undo, this will give the user more time to decide and undo their action.
Javadoc comments have been mostly written (for those that haven't been, they should be). Documentation should be generated from these comments and committed to the repository for contributors.
In addition, for each minor release (1.3, 1.4, etc.) the javadocs should be regenerated and committed. This would also be preferred for each minor update (1.3.1, 1.3.2, etc.) but is not necessary.
Allow stats to be shown by location. Default location could be set and changed.
In most of the fragments, a listener is assigned when the fragment is attached to the activity, but the references are never released. This causes a potential memory leak if the system cannot gc.
There needs to be a more obvious indicator to users that they can view their stats in a graph. This can be accomplished by displaying a FAB with a graph icon which, when clicked, opens a stat as a graph.
This default stat should preferably be the first stat. When the fab is clicked for the first time, a popup should notify the user they can view stats by clicking on the individual stat name or value.
In addition, buttons to navigate between stats should be included.
Having only one game in an open series meaning that bowling even just 2 games in one night means there are 2 different series with the same date, which can become overwhelming quickly. By offering series of up to 5 games, this can largely be avoided. The limit will have to be 5 series since that is the hard limit for leagues.
Clicking on an event in LeagueEventFragment causes the app to crash.
According to the Google Material Design Specs, floating action buttons should not move with fragment transitions, but rather minimize and maximize, or otherwise remain unmoved (i.e. if the action remains the same).
Currently, floating action buttons in BowlingCompanion move with the fragment. They should be removed from the fragment and placed in the activity, so they are above the fragments, and can be manipulated from there.
Todo after #3
Seems to be mainly happening around the 10th frame, but scores are either not being recorded properly, or are not being saved at all.
In all the adapters, ImageView images are set by using the drawable id, but they all end up displaying the same image with the same dimensions. This can be optimized by using a shared drawable, which will prevent the image from having to be recreated for every list item.
Travis CI build failing, with following log output:
Unzipping /home/travis/.gradle/wrapper/dists/gradle-2.2.1-all/6dibv5rcnnqlfbq9klf8imrndn/gradle-2.2.1-all.zip to /home/travis/.gradle/wrapper/dists/gradle-2.2.1-all/6dibv5rcnnqlfbq9klf8imrndn
Set executable permissions for: /home/travis/.gradle/wrapper/dists/gradle-2.2.1-all/6dibv5rcnnqlfbq9klf8imrndn/gradle-2.2.1/bin/gradle
Loading > Resolving dependencies 'classpath'Configuring > 0/1 projects > root project > Resolving dependencies ':classpat1/1 projects> Configuring > 1/1 projectsFAILURE:
Configuring > 1/1 projectsBuild failed with an exception.
Configuring > 1/1 projects> Configuring > 1/1 projects> Configuring > 1/1 projects> Configuring > 1/1 projectspanion'.
Configuring > 1/1 projects> Configuring > 1/1 projects> Configuring > 1/1 projects> Configuring > 1/1 projectsgradlew tasks
Configuring > 1/1 projects> Configuring > 1/1 projects--stacktrace
Configuring > 1/1 projects> Configuring > 1/1 projects--info
Configuring > 1/1 projects> Configuring > 1/1 projects--debug
Configuring > 1/1 projectsore log output.
Configuring > 1/1 projects> Configuring > 1/1 projectsBUILD FAILED
Configuring > 1/1 projects> Configuring > 1/1 projects> Configuring > 1/1 projectse: 7.176 secs
Configuring > 1/1 projects
The command "./BC-Free/gradlew build connectedCheck" exited with 1.
Done. Your build exited with 1.
Travis needs to successfully build in order to run unit tests, perform other tasks
Documentation for classes should be more consistent and complete according to JavaDoc specifications.
Tapping the pins in a game that is locked causes an audible "click". This should be disabled for locked games and enabled if the game is unlocked.
Requested by users
Stats could be more easily compared, totals are added up automatically, switching between multiple bowlers will be very quick.
Change FAB on bowler screen to go to next bowler, not next frame? Right nav could open list of bowlers in team, could be reordered.
Right nav should be opened by default when series is added for a team.
Add an option to export stats, etc. to a spreadsheet or csv document and email or send to Google Drive, etc.
Current button to change frames is out of the way and can be difficult to press. Adding an action button over top of the pins to go to next/prev frames would be preferable.
Due to the linear nature of the application, the navigation drawer is mostly unnecessary except to switch between games, so it should be removed except when the GameFragment is open.
Choose an adequate open source license to somewhat prevent blatantly copying the app, but promote contribution. If no adequate licenses exist, return to an open source model.
Currently, there is no indication that this is possible.
Allow users to purchase an IAP that removes ads from the application.
Should be tied to a user's account so they get it on all devices?
If the user leaves the app open to a game after entering a score, the current frame could be automatically advanced for easier input for user.
Default will be no auto advance, with a set of intervals available to choose in the settings
A lot of log output statements have accumulated, and can be detrimental to the application. A sweep of the log output statements should be done right before release, to check for those that aren't being used.
The current stat should be saved and reloaded from a saved instance state.
Users of the app prior to issue #35 being fixed will likely have a large number of series created, so allowing them to combine them into one series will probably be helpful.
This could work by joining series with the same 'name' (i.e. date).
Easiest if it just joins all series automatically so have a popup appear if they have 2 series with the same date.
If the user is viewing the first ball, the "previous" ball button should not be available, and similarly for the last ball
Find out how this will look. It's probably better than the plain white/gray background now.
Items in lists (bowlers/leagues/series) should get a semi-transparent background colour so the lane can still be seen behind them, but are still readable.
Android versions below 4.0 account for less than 1% of users, so it doesn't make any sense to continue to support these, while being unable to utilize newer functionality not available for these devices.
The current icon is very blocky and too noisy. A new icon should be created in accordance with the material design guidelines.
The bowling pin logo is very difficult to see and should be darkened, or given a background.
The database can quickly grow in size as users frequently use the app, and it may be possible to improve the database to better handle a larger number of games played. This should be researched and a better database implemented if a solution is found.
Currently, the stats list is not very material. The stats simply pop in/out. There should be some animation there. Colors should be updated as well.
Screenshots on the app store must be updated to represent the current version of the app.
Swiping the navigation drawer from the left edge of the screen (not tapping the button) can sometimes cause only the current frame to be reset.
Seems to be broken. May be an issue with using the child fragment manager.
Some of the app uses material design elements, but it should be extended to the rest of the app.
Refer to the Google Material Design Specificiations.
Clicks on the floating action buttons in the game are being passed to the pin layout before the fab can react to them. May be an issue with them being declared after the pins in the XML.
User should be able to create leagues without being restricted to a set number of games. Instead, the number of games will be set when they create a new series instead.
By dragging from the edge of the screen to open the navigation drawer, if the user begins their dragging on the bowling pin image, it is selected and the score is altered. If the user opens the drawer, the last swipe on the pins should be ignored.
As well as the new features for current users
Currently, most dialogs are being leaked when an activity is destroyed.
Rather than have a bunch of lists that all need to be in relative order to each other, there should be objects to contain the data.
See this blog post for an overview of potential memory leaks with AsyncTask and how to fix them. In addition, checks for other memory leaks should be performed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.