colonelpanic8 / chess_stats Goto Github PK
View Code? Open in Web Editor NEWA website that integrates with chess.com that allows users to track their statistics and perform analysis of their games.
A website that integrates with chess.com that allows users to track their statistics and perform analysis of their games.
We need to offload analysis jobs to some kind of asynchronous queuing system.
This is because there is no more victor_was_white attribute on the game.
https://github.com/joshdmiller/ng-boilerplate
This could potentially involve restucturing the ChessBoard code.
This will require changes in the navigation item directive.
This function will be called from the asynchronous queueing system. Will use the UCI client to manage the chess engine.
This could use the python code from ChessUtil, but it seems like maybe this should be handled clientside in JS.
Perhaps only load new games when it is explicitly requested.
We are getting this a lot. Need to figure out where it is coming from.
We need to not depend on the argument name dependency injection.
This is a huge ticket and probably involves a large amount of work. We would probably need to migrate everything into a new format.
Build page to browse analysis. Make it so that analysis can be requested from the browse games page. Possibly make it so that queuing information is also displayed from here.
Need to score, make experience more intuitive etc.
we need to use threading and yield analysis updates as they are computed. will probably involve changes to the uci_client.
stop using print use logger objects
We should use a method from the history fetcher.
This task comprises 4 subtasks:
This will either involve making new models or using Redis/Mongo DB etc. to store the data. we also need to write functions to perform the analysis using the Stockfish client and playable game objects.
[E 130707 02:30:59 web:1085] Uncaught exception GET /get_stats?color=white&moves=%5B%5D&username=AlexMalison (127.0.0.1)
HTTPRequest(protocol='http', host='127.0.0.1:3030', method='GET', uri='/get_stats?color=white&moves=%5B%5D&username=AlexMalison', version='HTTP/1.1', remote_ip='127.0.0.1', body='', headers={'Accept-Language': 'en-US,en;q=0.8', 'Accept-Encoding': 'gzip,deflate,sdch', 'Host': '127.0.0.1:3030', 'Accept': 'application/json, text/plain, /', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36', 'Connection': 'keep-alive', 'X-Requested-With': 'XMLHttpRequest', 'Pragma': 'no-cache', 'Cache-Control': 'no-cache', 'Referer': 'http://127.0.0.1:3030/browse_moves/AlexMalison'})
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/tornado/web.py", line 1037, in _execute
self.prepare()
File "/Library/Python/2.7/site-packages/tornado/web.py", line 1696, in prepare
self.fallback(self.request)
File "/Library/Python/2.7/site-packages/tornado/wsgi.py", line 239, in call
WSGIContainer.environ(request), start_response)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1701, in call
return self.wsgi_app(environ, start_response)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1689, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Library/Python/2.7/site-packages/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/Library/Python/2.7/site-packages/flask/app.py", line 1360, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "/Library/Python/2.7/site-packages/flask/app.py", line 1344, in dispatch_request
return self.view_functionsrule.endpoint
File "/Users/imalison/Dropbox/Projects/ChessStats/chess_stats/routes.py", line 34, in get_game_stats
white=white
File "/Users/imalison/Dropbox/Projects/ChessStats/chess_stats/logic.py", line 167, in build_sorted_game_stats_for_moves_by_username
user = models.ChessDotComUser.find_user_by_username(username)
File "/Users/imalison/Dropbox/Projects/ChessStats/chess_stats/models.py", line 82, in find_user_by_username
return cls.query.filter(cls.username == username).one()
File "/Library/Python/2.7/site-packages/sqlalchemy/orm/query.py", line 2215, in one
raise orm_exc.NoResultFound("No row was found for one()")
NoResultFound: No row was found for one()
Make a page to display rating over time.
We want the code to look more like https://github.com/IvanMalison/ChessBoard
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.