Coder Social home page Coder Social logo

brawlstars-crawler's People

Contributors

msscsh avatar

Stargazers

Hal 9000 avatar  avatar Pedro Lambda avatar

Watchers

 avatar Pedro Lambda avatar Hal 9000 avatar

brawlstars-crawler's Issues

Create a feature to keep points earned in the league

This functionality should allow the inclusion of points obtained by each player during the league. These data can be stored in a relation file, similar to those used in the other functionalities. The points/player ratio must be guaranteed by the player's tag.

Steps:

Rules:

Restructuring the project base

The club league has been changed. This way, it would be an option to rebuild the project. Designing the new solution based on the Mega Pig update.

create battlelog feeder for club members

Create battlelog feeder to all club members from one club tag. Should store the club member in document and add all of then to the updating routine of battlelog.

Define process for insert new player

When adding a new player, some process must be carried out. This way we can get a consistent basis. Are they:

  • Calculate wins and loss (limited to api 25 lenght history)

Change name from lists

When the oficial API is consumed, the name "items" is been passed. But acctualy should use the list name "BattleList", "ClubMembersList"...

create leadership time

count the times that someone is holding first place. It must send the time to the front so that it can follow the count like a clock.

create docker container

It is necessary to create an execution scheme using Docker containers so that it is possible to perform restart procedures on the application as a whole

create application to aggregate score rules

There must be a module that has the rules to be observed when counting points in battles. This way it is possible to remove responsibilities that are being embedded within the battlelog feeder

Add screen functionality for team management

You need to create a module with EJS that allows:

Steps

Expected steps for the execution of the functionality by the user

  • 1. Navigate from the home screen to the teams functionality
  • 2. Allow changing/including team members
  • 3. At the end, generate the file "team_relation.txt"

Rules:

  • The screen must be loaded with the existing "team_relation.txt" file, if it does not exist, a new file must be created.
  • The player data that will be used to make the relationship will be the ones in the "master.json" file.
  • Tags of players who are no longer in the club must be removed from the team relation file(team_relation.txt) when the player's absence is identified in the main file(master.json)

Remove "any" usage

We need to define specific types to be used in the application. For this it is important that the places where ESLint is ignoring are reviewed. Locations ignored and in need of revision include the following line:
// eslint-disable-next-line @typescript-eslint/no-explicit-any

increase the default condition to normal game

today the normal game mode is counted based on the exclusion of all other types, which causes other types of games not mapped and without the "result" field to interrupt the battlelog feeder process

create partial results

Create functionality that allows you to "cut" the score according to date. You must scroll through the battle records and filter according to date. This clipping should be used in the player audit to obtain a time score. With this construction it is possible to separate the top players at a given time.

Treat removal of old players

When a player ceases to be part of the club, he should be disregarded in future consultations regarding his departure

more crawler info

create a procedure that allows you to report the time that the crawler remained online and offline, as well as the time that each player was not monitored due to error 500 from api

Handle error HTTP 429

When the fedder is crawling, sometimes the api start to sendo HTTP Error 429. It must be handled so that the crawler does not miss a record to be searched. This treatment can be a new attempt after x times, like a system pause

create API consumption mechanism

create a mechanism for consuming official APIs with high supply. It must allow consuming the minimum player, club and team services.

The results must be persisted in json files or NoSQL database

Typescript must respect the tsconfig.json file

Typescript's compilation process is ignoring the "include" settings described in the tsconfig.json file. In this way, it is necessary to use the "copyfiles" dependency to perform the copy, in a "hardcode" process.
The typescript build must respect the settings in its own configuration file.

the player field is not saved

when during processing the program tries to save the player's link status with a club. In this feature, for some reason, the field value is not stored.

Interrupt process chain when errors occur

The pipeline process in package.json is running wildly. The returns from each of the steps must be analyzed so that the process does not end up as a false positive.
Currently, when errors occur in the generation of keys for the API, the build is completed successfully.

connection check in feeder process

when in the middle of feeding the feeder, errors may occur. Identified were "429" and "Temporary failure in name resolution". Regardless of the error that occurs in the middle of the process, the system must understand the point at which the failure occurred and subsequently resume

treat big game error

when the mode is "big game" an error occurs in counting points which causes the process to be interrupted

Rules for daily scoreboard

Add rules that allow you to create a daily ranking. The players who managed to achieve these objectives can be displayed on the first screen. This scoreboard must be made available at midnight and counted throughout the day in the feeder's central process.

  • Most wins
  • Most defeats
  • Most points
  • Most rounds in PL

update players info

When a player is already added to the database, their data is not updated. When updating battle data, or in another process, other information must be updated: Number of trophies, nickname...

remove player reprocessing

The solution of reprocessing in case of errors is not the best way. It is necessary to act at the OS level. It will be necessary to notice the creation of the error file and then trigger the steps to revalidate the key for the API.

Create player audit

should allow the counted information to be recalculated through your battle history

Create functionality for maintaining telephone data

This functionality aims to search for the registered telephone number for the player through its tag. The data should be kept in a separate file, similar to "team_relation.json".

Steps:

  • create EJS screen
  • Generate file with number relation

Rules:

  • Must load the screen data from the file "number relation.json".
  • If the file "number relation.json" does not exist, a new file must be generated.
  • The file "number relation.json" cannot be versioned

Add theme to page styles

It is necessary to carry out a design project for the pages, so that there is beauty associated with UX. It is necessary to make definitions of colors, layout, borders, buttons and other elements that make up the pages.

standardization of project formatting

Apply standard formatting to all files.
Preference should be given to the use of tab.
If possible, add control tools so that formatting is respected in one of the build processes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.