peteypii / mylolfantasy Goto Github PK
View Code? Open in Web Editor NEWCompete with your friends in a fantasy-like system
License: MIT License
Compete with your friends in a fantasy-like system
License: MIT License
It is a requirement given by Riot in order to use their API. See the Riot API site for more info
Describe the project and include what we use and what dependencies are required to run it
Currently other sites can forge requests creating new accounts, creating/deleting leagues, and logging out. We should stop this from being able to happen
Having the stat tracker in the Flask server as a global variable doesn't work properly (things break with simultaneous requests and on production) so we should move the data related code into its own Node.js server that can be called locally by the Flask server
This is basically a must have when dealing with passwords. It seems simple enough to implement. Just need additional set up to create a certificate to use
If Riot servers are down or if we accidentally reach our rate limit somehow, that request only should fail. Currently, the stat refresher aborts upon an exception. We should either retry after a small wait or just handle the fail properly and hopefully the next time around the loop the stats will refresh properly.
It has a lot of neato features that make CSS a whole lot nicer to use. The only downside is that it's another dependency for development.
In the navbar show the user's account name perhaps
Flask has some built in stuff to do this pretty nicely I believe and I end up breaking the stat tracker pretty frequently so it would help with that.
This should be for prod only (meaning we'll need a setting) and the GA key should be configurable so my website isn't tied to this project (so we'll need another setting for that).
It creates an open socket connection which probably reduces performance, and it's definitely not needed.
Instead of saying a summoner has 29.01 points it'll say they have 29.0999999998 points (or similar). This is due to CS counting as 0.01 points... We should probably round to 2 decimal places and also make sure that when stats get large, errors are not introduced by multiplying by 0.01.
I'd like this because I usually stop the grunt task to do something on the command line and then restart it. In its current state I end up with many MLF tabs. I propose moving the current behaviour to a task called open so that I can call grunt open the first time and then grunt every time after.
Apparently lanes creeps are counted separately from jungle creeps. ie minions killed doesn't include jungle minions >.<
It's in our repo so we'll need to generate a new one. We could store the key in an unpublished file and load it at runtime.
First blood, turret kills, inhibitor kills, gold earned, and damage to champs could be desired. At the very least we should track them
For development on machines where port 80 is restricted this could be useful
ie hash them and salt them. We should probably use some kind of library to do this for us
We need to store a group owner with each group in the DB and then check when going to that link
Commonly, a user will group themselves with another player many times so we could reduce the number of times we ask for recent games by using some sort of cache. The cache must be able to be reset so that we can update a player's newest stats.
Making a DB call with a bad group ID is bad. Need to check if it exists first. The question is, do we want to say that group doesn't exist or say you don't have access to keep it parallel. I'm thinking saying a group doesn't exist is fine since the IDs of groups don't really need to be protected in this way.
We should have a CAPTCHA or something in the sign up form to prevent this happening.
Add a remove league button for each league on the leagues page (maybe a button on the specific league's page as well). We probably want some kind of confirmation so that we don't have users accidentally deleting an important league
It makes the tab in the browser look prettier and easier to identify/distinguish (plus a command prompt icon is kind of non-ideal)
It helps users know when an update has occurred. We should have a MAJOR.MINOR.BUILD kind of deal where MINOR is incremented every time we publish something and BUILD is incremented every pull request that's merged or just incremented every day.
Look up a simple one and add a checkbox that needs to be checked when signing up
We could have a button on each league page or just one on the leagues page to refresh all groups of a user. I prefer the latter.
12 is for custom 6v6 with your friends, but we could just make it limitless to be future proof. Along with this change it would be nice if on the front end, it only displayed the last option as empty. I.e. only show the "Summoner 4" input box only if you've filled input boxes for summoners 1-3.
Right now, all games present in the match history are recorded but sometimes there are games missing for some players since they might have played alone and erased some common games from their 10 most recent games.
Should probably check input for some limit on account names
It's kind of jarring for it not to follow the theme is you don't enter a URL correctly
Where x is less than the amount of time that it takes a user to erase every game from their match history (so that no game data is lost)
Even while debugging, I sometimes cannot find the right tab to look at the website :/
I didn't know multiple classes could be put on a tag by doing div.class1.class2
so I was doing div(class= 'class1 class2')
instead. It'd be nice if this was remedied.
I thought something this path.join(__dirname, 'database.js')
was necessary when running the server from a parent directory (which is done for my website). This type of stuff should just be changed to './database.js'
.
Even when the user is logged in, the login page still works and makes it look like you're not logged in
Right now we're doing identical error checking in multiple files (the server and the stats code as well as my personal script). It would be nice to have all this error checking in one location even if it means enforcing having certain settings set that aren't strictly necessary in a particular case.
We should enable Gzip to reduce traffic load for users/our server.
Ones where the user themself isn't included. This could be useful if one wanted to create a league with MrJuneJune and Voyboy in it to see them duke it out without yourself in it
This can cause strain on the server and lead to service deterioration so we should have configurable limit of some sort.
Some instructions and/or info for users would be nice. We definitely need somewhere to show what each stat category is worth.
Somewhere in the navbar hopefully. Should take you to the home page or the sign in page upon clicking it and logging you out
The fail more than half the time, seemingly at random on the server
Whenever I restart my computer I have to log in again. This is cause our cookies are currently session based. We need to make them persistent by giving them a max age.
Show kill stats, assists, and so on
We can host it privately but we still need to figure out how everything will work in non-development mode.
Mainly thinking about having a release branch, a dev branch, and a new branch for every feature/fix. Helps keep things organized (can switch between branches quickly to see what has changed) and stuff can be tested before being published
It's in our repo so we'll need to generate a new one. We could store the key in an unpublished file and load it at runtime.
It's kind of cumbersome at the moment since loading them is pretty long incantation using lodash and then the settings aren't validated everywhere.
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.