During the Fall 2021 semester, try out our site at: http://34.139.249.180:5000/
Demo video is available at https://youtu.be/vGAJVO_0vqs
Over the last two and a half decades since the launch of Pokemon, dozens of web apps have been created to accelerate progress, simplify content, and help dedicated players optimize their pokemon teams. Informative tools like Bulbapedia and strategy-based tools like Poke Assistant have become some of the most used resources of all time. Despite the far reaching capabilities of these websites, our team discovered a massive problem yet to be solved: how to find the optimal team for each gym leader/elite four based on a player’s own pokemon collection. With this in mind, our team spent the last two month creating a personalized tool that any player can use to upload pokemon, set levels & moves, choose gym leaders to battle, and discover the optimal team of 6 for every battle. We call this Pikachooze, and we believe that it can be used by millions of players worldwide.
- Add, edit, remove the pokemon you've caught
- View and search all of your pokemon
- Compare your teams and get recommendations against gym leaders and the Elite 4 from generation IV games
- Suggest new trainers to test your teams!
-
Make sure that you have enabled firewall settings for port 5000. This should be run on a CS 316-customized VM.
-
Clone this repo. Confirm with the team which branch you should be on for up to date behavior.
-
Upgrade pip if necessary, and run
pip install virtualenv
-
Run
./install.sh
. If there are errors, address them. -
Run
source env/bin/activate
-
Run
flask run
At this point, you can then access the database by running psql pikachooze
from another terminal, and you can access the WebUI by navigating to the IP address and appending :5000
to the URL.
- In your VM, move into the repository directory and then run
./install.sh
. This will install a bunch of things, set up an important file called.flashenv
, and creates a simple PostgreSQL database namedamazon
.
Flask and SQLAlchemy will hot deploy most of your changes, but if an unusual problem arises, you can always do a hard reset by running:
-
dropdb pikachooze
(make sure that any active database/psql
connections have been terminated) -
flask run
To stop your website, simply press CtrlC in the VM shell where flask is running. You can then deactivate the environment using
deactivate
Based on skeleton code for the CompSci 316 undergraduate course project. Created by Rickard Stureborg and Yihao Hu.
- Fav Icon for browser taken from https://icons-for-free.com/iconfiles/png/512/pokemon-131979013310232399.png
- Pokemon data taken from https://pokeapi.co/
- Pokemon images taken from https://github.com/HybridShttps://github.com/HybridShivam/Pokemonhivam/Pokemon
- Trainer data taken from https://bulbapedia.bulbagarden.net/wiki/Main_Page
- Trainer images taken from https://pokemon.fandom.com/wiki/Pok%C3%A9mon_Wiki
- Video resources taken from https://youtu.be/Iy2f0o8QTyE, https://youtu.be/6xKWiCMKKJg, https://youtu.be/8URukvnUYTw, and https://www.engadget.com/pokemon-brilliant-diamond-shining-pearl-trailer-details-art-style-161620641.html
If weird functional or model interactions/errors happen during development, run 'dropdb pikachooze' and then 'flask run'. If you want to run sql queries, use 'psql pikachooze'. If you can't run 'source env/bin/activate', try upgrading pip and running 'pip install virtualenv'.