Skip to content
This repository has been archived by the owner on Feb 3, 2022. It is now read-only.

Latest commit

 

History

History
93 lines (52 loc) · 3.42 KB

README.md

File metadata and controls

93 lines (52 loc) · 3.42 KB

babiri.net

babiri.net is a Pokémon stats aggregation and visualization website for competitive VGC and OU players.

The website has had over 100,000 users since launch. It has also been featured on Pokésports Podcast. For future updates, please follow @NotCelsiusDeg on Twitter.

"VGC Teams Page"

Demo

The live demo can be found here.

About

babiri.net was made to gain insight on daily Pokémon Showdown usage for VGC and OU formats using public replays from the server. The application also provides the percentage of teams that specific Pokémon are featured on, as well as their usage over time through data visualization.

This repository hosts the open-source version of the web application portion. It is a snapshot of the website prior to the OU format addition. As such, security details such as DB connection strings are omitted.

"VGC Usage Page"

Getting Started

To run the server, use npm run dev in your terminal.

Upon starting, the client-side will be hosted on localhost:3000 and the server-side will be hosted on localhost:5000. You can check the ports by looking at the logs.

Prerequisites

Please ensure you have Node.js installed, which can be downloaded here. In addition, the repository does not contain the database connection string for security reasons. To construct your own database, please refer to the models found in /models.

Example Requests

All requests are made using the GET method. Both VGC and OU formats follow the same endpoint structure.

VGC uses the /api/teams and /api/usage endpoints while OU uses /api/teamsou and /api/usageou endpoints.

Teams

/api/teams: Return the most recent recorded teams.

Teams with Specific Pokémon

/api/teams?pokemon=[POKEMON]: Return the most recent recorded teams with POKEMON on their roster.

Ex. /api/teams?pokemon=Tyranitar returns the most recent recorded teams with Tyranitar.

Teams by Specific Date

/api/teams?date=[DATE]: Return the teams recorded at the requested DATE. DATE should be represented by YYYY-MM-DD.

Ex. /api/teams?date=2020-07-13 returns the teams recorded on July 13th, 2020.

Teams by Specific Pokémon and Date

You can combine previous parameters to search by both Pokémon and date.

Ex. /api/teams?pokemon=Togekiss?date=2020-07-06 returns the teams with Togekiss recorded on July 6th, 2020.

"VGC Teams Search"

Usage

/api/usage?pokemon=[POKEMON]: Return all usage stats of the requested POKEMON starting with the oldest recorded.

Ex. /api/usage?pokemon=Excadrill returns the usage stats of Excadrill.

"Excadrill Usage Stats"

Built With

Web Application

  • React (Bootstrap/Chart.js)
  • Node
  • MongoDB
  • Express
  • Heroku

Data Scraping

  • Python (Requests, BeautifulSoup, PyMongo)
  • AWS EC2 (cron)

Sprites

Acknowledgements

License

This project is licensed under the terms of the MIT license.