jbkuczma / nbareact Goto Github PK
View Code? Open in Web Editor NEW๐ iOS and Android NBA app created with React Native
License: MIT License
๐ iOS and Android NBA app created with React Native
License: MIT License
Each game has a property called "nugget" which seems to be a highlight statement (ex: "Wizards pull even with Pacers for No. 4 seed", "Harden: 32 points, 11 rebounds"). Think about adding this to either the game cell or the game detail page.
On the gameStatsTeamDev branch, look into adding dividing lines between headers, teams, and scores. May have to wrap each text component in its own view
Having trouble making the images stay vertically aligned with the text below them while using Bootstrap's responsive image class.
Since some of the team logos are all white and transparent, they can be difficult to see on the chosen background color. Look into adding a small shadow for better viewing.
When the date is set to a date for a past season, the following happen:
Why?
There is no player_id returned from the endpoints.
As much as I loved having the team logos and player images in Swish, they had to be removed for release on the App Store. There is a branch (swish_with_images) that contains Swish before the images were taken out.
As the development of Swish continues, I will try to update that branch as well with features that make it to master so the full app could still live on.
In the future if I can acquire rights to use the actual team logos or some custom made alternative version, then I will add them back in.
Let the user choose a date and have that be applied to the scores page.
Many of the screen contain a of loader implementation that is the same across the components. This should be made into its own component for ease of maintenance.
When a user clicks on the team logo from GameStatsTeam page, they will be taken to that team's own page. Possible ideas on what to include are season record, stat rankings, roster, player stats; will look into.
buttons will allow either conference's standings to be shown.
When one of the game cells are pressed on the scores page, provide more details. Ideas: points scored by quarter, team stats, maybe player stats. We'll see what direction this idea takes.
For now, at the beginning of every season, the year variable will have to be physically changed. Will look into
Right now in the player page, a list of their games is displayed along with points, rebounds, and assists for the game. Clicking on a game from the player page should go to a new page that displays more stats from that game.
There will probably be a global season variable to start but when the date is switched, the season will change depending on month and year.
As of now the splash screen is still the default one that comes bundled with React Native. I think this only pertains to iOS.
There is an endpoint for a preview (if the game hasn't started) and recap (if the game is finished) article for a provided game. A fourth tab could be added to the game detail screen and render the appropriate article.
Bundling index.ios.js
Transforming modules โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 99.0% (391/393)...(node:11817) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 668): UnableToResolveError: Unable to resolve module ./App/Assets/Images/back_button_white.png
from /Users/open/NodeProjects/react-projects/NBAreact/App/NBAreact.js
: Directory /Users/open/NodeProjects/react-projects/NBAreact/App/App/Assets/Images/back_button_white.png doesn't exist
At some point I'm going to need to design and create an app icon.
Want to set up live reload and hot reloading for webpack with React
Something cool to have would be have a splash screen animation like how twitter launches on iOS
Will try to implement Redux throughout the app
The PlayerScreen can now be reached 3 different ways:
PlayerScreen is currently written for data returned from the roster API call, but LeagueLeaders and PlayerSearch API calls return different properties.
Property | Roster | Player Search | League Leader |
---|---|---|---|
Player ID | player_id | personId | player_id |
Name | player | firstName & lastName | player |
Height | height | heightFeet & heightInches | |
Weight | weight | weightPounds | |
Years Experience | exp | yearsPro | |
School | school | collegeName | |
Number | num | jersey |
Based on this, if we are navigating from a league leader item to the player screen, the player will have to be looked up from PlayersInLeague array from the Redux Store and that value will be used.
tl;dr Refractor PlayerScreen to use data for a player found in the PlayersInLeague array
If no games are being played, then the user is presented with a blank home screen. Maybe think about adding an image just so it isn't blank?
To show this app to a user without them downloading, I could try and make a web version with ReactJS.
The date in the header can be changed properly along with its corresponding text. I need to pass whatever the new date is to ScoresPage.js in order for the games to be displayed for that date.
If I do decide to publish v2.0 I'm thinking the app name should be different; the repo will still be named NBAreact.
Current ideas:
So the user isn't staring at a blank screen waiting for the data to load, add a loading indicator of some sort.
Score doesn't seem to update despite data changing from callback. S C A R Y.
Right now it is just an infinite loop of the loader image.
If Android versions plans to be published it needs visual improvements. iOS seems fine.
The player's screen currently only shows game stats for the current season. A great enhancement to this screen would be the option to show a player's career stats.
Sometimes when navigating to the boxscore tab, the list doesn't appear until any scrolling begins
In the individual player page, look into adding a shot chart for the player.
New tab, displays league leaders in various categories
Will need tab bar icons for:
The games list should only be able to be refreshed if the date used to look up games in the app is today's app. The reason for this is data won't change when a game has finished or has yet to begin, and can help save data for users.
Add a new tab that is strictly for videos. Could see if there is an API endpoint the NBA uses or scrape videos from /r/nba
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.