monet2's People
monet2's Issues
Splatfest Rotation Support
Currently Splatfest Rotations are not handled. I do not have Splatfest Rotation JSON, and probably will not until at least the 13th, (unless I buy a european copy), however I have a good idea on how it might be structured. Nonetheless, Turf War, Ranked, and League cards should be able to be hidden automatically when a Splatfest comes around, and the Splatfest card should be between Salmon Run and the normal gamemodes preceding the Splatfest, and first during.
Ordered Merch
User should be able to see the merchandise they have already ordered and is awaiting pickup at Murch in-game, on the shop page.
WeaponStats Adapter Rework
Weapons Stats uses the old fragment system for it's cards, it should be moved to the RecyclerView method
Gear Notification Expansion
Users should be notified when a player they played with in a recent battle has gear they have set a notification for.
Links
- Link from stages in Rotation Fragment to corresponding StageStats
- Link from gear in Shop Fragment to corresponding GearStats
Battles
The User should be able to navigate to a fragment that lists their Battles. These battles should be stored in a SQL database in the app. This database should have tables for Ranked, Turf War, and Splatfest. League should also be supported, but I do not have the information on the JSON provided yet.
API updated
The api updated yesterday, possibly when the Nintendo Direct went up. Since it seems data on the api is not currently being updated, I need to intercept the api calls the official app uses using mitmproxy.
Ability Chunk Tracker
Users should be able to manually track their ability chunks under the stats group. They should be able to add and subtract chunkable abilities from this page.
Weapon Stats
Users should be able to view their stats with their weapons. These stats should be their performance and wins/losses.
Performance is made up of how they did in matches, their ink, kills assists, deaths, and specials. This should be presented in three different ways, their average performance displayed in a radar chart, their performance over time in a line graph, and the spread of their performance in a box and whisker chart.
Wins/losses should be displayed as a Donut Graph, with wins/loses recorded in the SQLite database displayed as a pie graph in the donut hole.
Wear: Mode In-Depth Rotation
Upon clicking one of the mode cards on wear, the user should be brought to a screen that displays all future stages for that mode, as well as gamemode changes.
Nav Drawer
Currently there is no way to navigate to other activities from Rotation. The App should have an Nav Drawer that allows users to navigate to other activities.
Wear: Alert Notifications
If a user has a wear device, and receives a shop notification, they should be presented with an action that allows them to order the gear from the watch.
Wear: Data transfer
The Wear app must sync rotation, salmon run, and shop data from phone.
Clean up Code
Documentation and organization are severely lacking. Fortunately not so much that it will be impossible to clean up this code, however steps should be taken to prevent that from occurring. Similar classes should be packaged up, and standardized where possible. Things are starting to get a little out of hand with maintaining this, which I should have realized would occur.
Grizz Co.
Currently Salmon Run data is not updated at all on Rotation. The user should be able to see a list of all upcoming Salmon Runs and times, and Ongoing Salmon runs should have the Salmon icon next to them
Campaign Stats
Users should be able to see their single player campaign stats. Users should be presented with stage completion, time, weapons used, and percent completed.
Update data in background
In order to provide useful notifications, the app must be able to update in the background. Users should be able to turn on/off autoupdates, set their frequency, as well as whether they occur on a data connection or not.
Shop Ordered Adapter
The Shop Ordered "Adapter" should be abstracted out to help reduce clutter in the Shop Fragement.
BattleInfo Rework
BattleInfo currently uses RecyclerViews to display users, however it should use RecyclerViews to dynamically change between modes easier.
ViewHolder:
- BattleInfoViewHolder
- BattleTeamViewHolder
Stage Stats
Same as weapon stats
New User flow
Currently New Users are simply dropped into the app. This is disorienting, and leads to them not realizing or using certain features.
To fix this:
-
Users should be prompted to put in a cookie
-
Users should also be prompted to set their auto-update settings, which should mention that notifications can only be set in the settings when auto-updates are on.
-
Users should, if auto-update was turned on, be prompted to set their notification settings.
Shop on Wear
Users should be able to view the shop on an Android Wear device, as well as order gear.
Battle Improvements
Battles are a bit iffy and not very useful. Battle Performance should be improved by changing from an Expandable list view to a dialog, with stats. All Battles should show up in the battle list, in pages of 25 items.
Battle Info Dialogs
- Users should be able to see the loadout of the player they tapped
Pagination
- Users should be able to browse through pages of 25 battles, for all the battles recorded in the database
Login Loading
Going through the login flow is long, the user should be presented with a loading dialog upon login.
Sharables
Nintendo allows users to create sharable images, allowing them to text/tweet, and otherwise share their achievements. MoNet should do the same, for various achievements such as Rank Ups, Stage Rotation, and Results. Stats are also a good idea, and allowing users to share these stats should make things just nicer
Gear Stats
Same as the weapon stats, but with gear and only Wins/Losses that are in the database
Update Rotation
Currently the rotation does not update when TimePeriods have expired. Since TimePeriods expire every even hour, the app should after 2 hours update the rotation
Stats Revamp
The Stage, Weapon, and Gear Stats pages currently work, however UX is not as good as it can be. In order to improve.
Stage Stats
-
The stage stats fragment should be converted to use the list of stages from the Stage table. Therefore all stages the user has played on, including Shifty Station, will show up in the list for stages.
-
Turf War Wins should be calculated from stored data, and presented to the user
-
Update to show Clam Blitz Stats
-
Users should be told how many more battles is needed to generate stats for the stage.
-
Users should be able to set Stage Notifications from the List fragment.
Weapon Stats
-
Weapons in the Weapon Locker Fragment should be separated based on category. These categories are 0000s for Shooters, 1000s for Brushes, 2000s for Chargers, 3000s for Buckets, 4000s for Splatlings, 5000s for Dualies, and 6000s for Brellas.
-
Users should be told how many more battles is needed to generate stats for their weapon.
Gear Stats
-
Gear in the Closet Fragment should be separated based on kind(head, clothes, and shoes).
-
Gear in the Select Gear Dialog should be separated based on kind as well.
-
Basic win, ink, and last used data should be generated and presented to the user.
-
Users should be told how many more battles is needed to generate stats for their gear.
-
Users should be able to set Gear Notifications from the List fragment.
No internet for Rotation
Currently, if the app determines that data needs to be updated, and there is no internet access, the app crashes. This is obviously not good behavior. If the app does not have an internet connection it should remove the expired timePeriods and if no timeperiods exist display an error message.
Salmon Run: Display in Rotation
Users should be able to see a card in the Rotation fragment that tells them the salmon run data they have entered, as well as let them open up a dialog that will allow them to enter more data.
Database
There should be a SQLite database that stores information on brands, gear, and the like
Notification Revamp
The current notification system is buggy and prone to spam. In order to fix this and to ensure users are notified of important information while not flooding their notifications with useless info, the notification system will need to be revamped.
Revamp
- When the app determines the user should be notified of something, it should add it to a notification list.
- A Broadcast Receiver should periodically check this notification list and push the relevant notifications, adding notifications to a done pile for the duration the user will need to see them.
- A Notification Manager class should manage the notification list and refuse to add items that have already been notified and sort the list.
- Users should be able to request new battles be instantly downloaded. If one of the 5 battles in timeline has happened in the past 3 minutes, the app will request the timeline in 3 minutes.
Additions
- Users should be able to request to be notified about new Grizz Co. monthly reward gear.
- Users should be able to request to be notified about newly released Weapons.
Splatfest Stats
This is the founding purpose of this app, users should be able to compare their performance to that of their teammates, as well as see their impact on their team's performance, and their friends' votes.
ClosetStats Adapter Rework
ClosetStats currently relies on static fragments for it's stats, and should be moved to RecyclerView
Shop
Currently the Shop page is not implemented. Users should be able to navigate to the shop page
Document the Splatnet API
Documentation for the Splatnet API should be provided.
- Homepage
- Nickname and Icon
- Timeline
- Results
- Specific Result
- Records
- Campaign Records
- Map Schedule
- Salmon Run Schedule
- Current Splatfests
- Past Splatfests
- Splatfest Votes
- Splatfest Rankings
- Merchandise
- Order Gear
- Share Profile
- Share Summary
- Share Battle
- Share Challenge
Alerts
Users should be able to subscribe to alerts, to tell them their favorite stage/gear they are looking for/salmon run will be available soon. Users should be able to set the notification time in settings, and be able to manage their alerts as well.
Ordering Merch
Users should be able to click one available item, and be prompted to order it.
- Users should, upon clicking gear, be prompted to order it.
- Users should be able to order or cancel ordering the gear.
- Users upon ordering, if gear is waiting at Murch, should be reminded that they already have gear ordered. Possibly place both side by side. Allow the User to keep the currently ordered gear, or order the new gear.
- Users should receive a toast telling them that the gear is either successfully ordered or canceled.
Adapter Rework
Adapters right now need a massive rework to maintain consistency and help keep files clean.
Rotation ViewPager Clunky
Currently it is difficult to determine where in the schedule you are. The user should be able to navagate back to the current TimePeriod using a back button, as well as see what page they are on.
Current Merch
Users should be presented with the current merchandise present in Annie's shop upon navigating to the shop page
Threads
Currently threads are executing after the fragment they are supposed to change is navigated away from. This has only appeared now that there are multiple fragments. When the fragement is navigated away from, running threads should pause.
Gear ID Bug
Currently users are notified of gear they did not request to be notified of. This is due to gear of different kinds sharing IDs. This issue reaches beyond just the notifications, as gear is not currently being stored, and this will cause issues in displaying gear in Battle info and storing gear in the Closet.
The solution is pretty simple, split the gear table into three separate tables, "head", "clothes", and "gear". This will require edits to the Closet table to hold a reference to the kind of gear in the table, as well as minimal changes to the BattleManager.
The impact to data already stored in the database is non-existent. There will be temporary issues of gear seen in battles not being present in the related table, but that should resolve itself quickly, as battles and the shop inserts gear that was missing.
Rotation on Wear
The wear app should have the current map rotation, in an easily readible format
Battle details
Seems I forgot to create an issue for this. Users should be able to click on a battle or enter a battle id and be presented with an indepth breakdown of that battle. Players, result, mode, type, and stages, should all be presented to the user.
Create Dialogs for future development and fix the loading dialog
It would really be helpful to create some generic dialog boxes that fit the app's style, such as an Alert Dialog, as well as fix the Loading Dialog to broaden the tools at my disposal for future developments.
Polish API requests
Right now the user is not aware if the app is getting the latest info, if the cookie expired, or if the app simply can't reach the server.
To correct this:
-
1. Users should be able to see a loading icon in the bottom right corner of the screen when the app is retrieving data from the API
-
2. When authentication fails the user should be prompted to either enter in a new cookie, or do so later, with directions being provided as to how to do so.
-
3. When the app cannot connect to the server, the user should be alerted to this by toast
StagePostcards Adapter Rework
StagePostcards uses the old fragment method for the stat cards, should be moved to RecyclerView implementation.
Player Stats
Users, upon long pressing their Name in the nav drawer, should be presented with a fragment that contains general user stats.
General Info Tab
- Image to Insert
- Player Type
- Level and Ranks
- Nickname and Icon
- Last Loadout
User Stats Tab
- Wins/Losses
- Total Inked
- Last Played
- First Played
- Users should be able to see their overall stats in Ink, Kills, Deaths, and Specials
- Users should be able to filter these stats by time, allowing them to see their recent performance.
Salmon Run Revamp
As suspected, Nintendo has added the oft requested Salmon Run times to Splatnet. MoNet should therefore be revamped so as to not use manual entry and to pull the times from the API. The end point is api/coop_schedules, and the response consists of "details" and "times".
The details correspond to the two upcoming Salmon Runs, the ones we have extra details on such as Stage and weapons. The times correspond to all five upcoming Salmon Run times. Interesting to note, the two upcoming Salmon Runs have their times in both details and times.
To Revamp Salmon Run, these things must be done
- Redesign the Salmon Run Card in Rotation fragment to contain a ViewPager
- Implement a fragment to display a "detail" run
- Implement a fragment to display the non-detailed runs
- Redo the deserialization of Salmon Run to fit the API
- Add a Retrofit definition of api/coop_schedules
- Change Salmon Alarm to work with new Salmon Run Objects
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.