Creating a Pokémon Go registry from scratch
I have a hard time playing any game without thinking, “How can I do a better job of keeping track of all of these moving parts?” At a glance, Pokémon Go looks like a simple game of catching adorable wild creatures and making them fight each other at gyms for experience and coins. While this is basically true, the many Pokémon creatures have a wide range of characteristics. These include things like types, move sets, IVs, hit points, combat points, attack and defense bonuses, and many things I haven’t discovered yet. It can be helpful to catalog these characteristics to be able to make decisions about when to evolve individual Pokémon, which have good stats and move sets for training, and which to give to the professor for sweet candy.
Over the coming weeks, I will be designing and implementing a Pokémon registry that may be helpful for playing, but the real purpose of this exercise is to learn and, hopefully, to teach. The project will cover everything from selecting and populating a database, to implementing a back end and API, to creating a user interface, to deployment as individual micro-services. At the time of this writing, my intended tech stack looks like:
- Database: PostgreSQL (or maybe GUN?)
- API: Python, Flask, Marshmallow, SQLAlchemy
- Front end: Node.js, Express
- UI: React, Redux, React-router
- Distribution: Docker
I intend to write updates as I have time to work on the project, so please check back! If you’re a designer looking for something to do, I could use help designing an attractive user interface. Please feel free to send me suggestions and questions. All code will be open source and published to GitHub: brettvitaz/pokemon-go-registry.
Next: Prototyping an API