All Projects → cnguy → onetricks.net

cnguy / onetricks.net

Licence: other
(WIP) kayn-powered (typescript node.js) ReasonReact app presenting you a dashboard of high ELO one trick ponies in League of Legends

Programming Languages

reason
219 projects
typescript
32286 projects
go
31211 projects - #10 most used programming language
CSS
56736 projects
C++
36643 projects - #6 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to onetricks.net

re-use
⚛️ 🎣 A collection of hooks for ReasonReact
Stars: ✭ 27 (+107.69%)
Mutual labels:  reasonml, reason-react
reason-react-lazy-loading
Example project to show how to use components lazy loading in ReasonReact
Stars: ✭ 41 (+215.38%)
Mutual labels:  reasonml, reason-react
re-typescript
An opinionated attempt at finally solving typescript interop for ReasonML / OCaml.
Stars: ✭ 68 (+423.08%)
Mutual labels:  reasonml, reason-react
Reason Graphql Fullstack
Fullstack Reason + GraphQL Todo List App
Stars: ✭ 246 (+1792.31%)
Mutual labels:  reasonml, reason-react
qnd
Quick and Dirty development builds
Stars: ✭ 19 (+46.15%)
Mutual labels:  reasonml, reason-react
app-template-rescript-react
Adding ReScript with rescript-react on top of @snowpack/app-template-react
Stars: ✭ 44 (+238.46%)
Mutual labels:  reasonml, reason-react
re-cite
Manage citations from your colleagues , friends, movies, your cat or even yourself.
Stars: ✭ 20 (+53.85%)
Mutual labels:  reasonml, reason-react
Pure
React in pure Reason that targets native platforms.
Stars: ✭ 135 (+938.46%)
Mutual labels:  reasonml, reason-react
reason-catstagram
🐈 Catstagram made with ReasonReact!
Stars: ✭ 31 (+138.46%)
Mutual labels:  reasonml, reason-react
Reason-react-hooks
🧶 Some hooks in ReasonML for reason-react that can be useful
Stars: ✭ 14 (+7.69%)
Mutual labels:  reasonml, reason-react
Rescript Relay
Use Relay with ReasonML.
Stars: ✭ 214 (+1546.15%)
Mutual labels:  reasonml, reason-react
timerlab
⏰ A simple and customizable timer
Stars: ✭ 94 (+623.08%)
Mutual labels:  reasonml, reason-react
Bs Material Ui
ReScript bindings for material-ui
Stars: ✭ 185 (+1323.08%)
Mutual labels:  reasonml, reason-react
bs-rsuite-ui-react
Reason bindings for React Suite UI library
Stars: ✭ 26 (+100%)
Mutual labels:  reasonml, reason-react
Fullstack Reason
A demo project that shows a fullstack ReasonML/OCaml app–native binary + webapp
Stars: ✭ 164 (+1161.54%)
Mutual labels:  reasonml, reason-react
reason-hooks-testing-library
ReasonML bindings for react-hooks-testing-library
Stars: ✭ 24 (+84.62%)
Mutual labels:  reasonml, reason-react
Reroute
a fast, declarative microrouter for reason-react
Stars: ✭ 120 (+823.08%)
Mutual labels:  reasonml, reason-react
Brisk Reconciler
React.js-like reconciler implemented in OCaml/Reason
Stars: ✭ 124 (+853.85%)
Mutual labels:  reasonml, reason-react
LifeTime
LifeTime app
Stars: ✭ 35 (+169.23%)
Mutual labels:  reasonml, reason-react
dokusho
Simple Japanese reading stats tracker
Stars: ✭ 12 (-7.69%)
Mutual labels:  reasonml, reason-react

Source for http://onetricks.net

A web application displaying a list of high ELO one trick ponies in League of Legends, using kayn.

Status: WIP

The master branch is not necessarily indicative of its current state in release.

In the future, there will be a CHANGELOG for production releases.

Preview:

Alt text

Note that this codebase is also very old, and my main goal now that I finished building up some stats is to clean up the code.

Development

make run # docker-compose up --build

Deployment

Server

# Make sure that you're pointing to your own droplet IP address!
sudo make prep-digital-ocean

In DigitalOcean console:

# Make sure that you fill out the docker-compose.prod.yml file!
sudo make run-prod

Frontend

yarn build && yarn deploy

Overview

This web application is now comprised of 5 components:

  1. Site API (stats, one tricks)
  2. React Client in ReasonML that is deployed to surge.sh
  3. MongoDB (via mlab) for storing One Tricks and Stats
  4. Redis (via redislabs) for caching Riot League of Legends API requests as well as my own site API calls in production. node-lru-cache or Redis can be used for development caching
  5. AWS S3/CloudFlare for asset caching

The scripts build up two important datasets (currently you can run them by just uncommenting the respective index.js main function calls):

  1. Statistics
  2. One Tricks

Problems

There are two problems with this web application right now:

Firstly, the stats-building service isn't autonomous, but I hope to change that soon. This should be isolated from onetricks.net which can essentially just be a static website.

Secondly, the One Tricks algorithm isn't an algorithm. It simply just determines the highest played champion of a player, and then just checks if the number of games on that champion is >= {some percentage} of the player's total games.

So basically grade school division.

However, I found that this heuristic only really worked well when there are accurate stats (only then did 45% worked really well). This can also be outdated because a player may have switched to one trick a different champion recently.

I used my eyes to judge the results and overall, it seemed fine (I used to be a Challenger player for multiple seasons).

As of April 2018, I'm planning to add a match history checker to confirm that the player still plays the champion that is their overall most played.

Reddit Description

reddit op

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].