Requests information about Pokemon currently in inventory from Niantic and displays stats for each Pokemon in a table.
- Install NodeJS - Node version used in development is 6.3.1
- Navigate to project root, open a terminal, and run:
npm install
to install dependencies
-
To run both the Node server and the webapp, open a terminal in the project root and run:
npm start
This will start the Node server on the port specified in server/config/properties.js by the server.port property. It will also transpile the webapp and start a http-server instance on http://localhost:8080.
-
To run only the Node server, open a terminal in the project root and run:
npm run server
This will start the Node server on the port specified in server/config/properties.js by the server.port property.
-
To run only the webapp, open a terminal in the project root and run:
npm run webapp
This will transpile the webapp and start a http-server instance on http://localhost:8080.
-
To run only the webapp in development mode, open a terminal in the project root and run:
npm run webapp-dev
This will transpile the webapp, watch for front end changes and re-transpile when they are detected, and start a lite-server instance on http://localhost:3000.
-
This project wouldn't be possible without cyraxx and the other developers over at PogoBuf. They're doing all the heavy lifting. A huge thanks to everyone who's working on that project!
-
Using justinleewells level-to-cp map to calculate Pokemon level.
Pulling data from Niantic by anything other than the Pokemon Go app violates the Pokemon Go Terms of Use:
USER RIGHTS AND RESTRICTIONS. These Terms grant permission to you, in your individual capacity, to use the content of Service made available to you for personal, noncommercial home use only. In no instance may you:
...
(ii) Modify, or create derivative works based on, the content;
(iii) Use, or facilitate the use of, any unauthorized third-party software (e.g. bots, mods, hacks, and scripts) to modify or automate operation within the Service whether for yourself or for a third party.
...
(vi) Decompose, disassemble, or reverse engineer any part of any Service, or otherwise use a Service for any purpose other than those provided for by us and in conjunction with the operations of the Service;
I haven't heard of any instances of account bans for reasons other than botting or mapping, but keep in mind there is a risk when using this tool or others like it.
- IE doesn't like the CSS used in the table. Solution: don't use IE.
-
I've recently pulled and the new version doesn't work!
I may have added a dependency or updated a minimum version for an old dependency. Try running
npm install
. If that doesn't fix your problem, please open an issue. -
Help! I'm seeing errors after an
npm start
on my Linux system! I've followed all of the setup instructions and it just isn't working!The postinstall script doesn't seem to run automatically on some Linux systems. Try running
npm run postinstall
afternpm install
. See issue #1 for a full description. -
I can't seem to log in with my Google account, even though I know I'm using the correct email and password. What gives?
If you use a Google account and have two factor authentication enabled, you will need to generate an app password and use that to log in.
-
I want to allow other computers on my local network to access the tool from my computer. Is that possible?
It sure is! You do, however, need to make some configuration changes.
- Open up webapp/services/properties.service.ts and find the apiHost property. In a normal configuration, that is set to
'//' + window.location.hostname + ':8008'
. You'll need to change this to'//<local_ip_of_machine_running_the_node_server>:8008'
. - Next, you'll need to open up port 8080 and port 8008 on your computer's firewall so that requests can make it through to the webserver and the Node server.
- Restart the webapp portion ( or the whole thing if you're running with
npm start
) and you should be set!
- Open up webapp/services/properties.service.ts and find the apiHost property. In a normal configuration, that is set to
-
Running locally is fine and dandy, but what about if I want my friends to be able to access the tool outside of my local network?
Well, dear traveller, you are in for a treat! This is definitely possible, but takes a bit of setup to get going. Be warned, this opens your computer up to external traffic, which may not always be friendly! Proceed with caution! Here is a list of steps to get you started. I haven't actually done this, so take it with a grain of salt, but this should theoretically work.
- You're going to need to forward ports 8080 and 8008 in your router's settings. If you don't know how to do this, you can likely Google '<your_router_model> port forwarding' and figure it out.
- Next, you'll need to open up your firewall on ports 8080 and 8008, if you haven't done this already.
- Change the apiHost property in webapp/services/properties.service.ts to
'//<your_public_ip>:8008'
. Your public IP can be obtained from an IP checker like this one. - You should now be able to access the tool from outside your local network by navigating to <your_public_ip>:8080. Your public IP is likely IPv6, which requires some fancy address bar formatting to get your browser to navigate to it.
-
I'm trying to host this project on Amazon/Heroku/Azure, but I keep getting 403's on login
Niantic has banned a lot of major VPS providers, so you'll have to search around to find one that isn't banned yet.
-
I'm facing an issue that hasn't been addressed here, or I'd like to add a feature request
Open an issue. I try to respond to errors within 24 hrs - no guarantees - and I'll generally prioritize feature requests weekly. If an issue is marked 'free to take', that means I don't plan on getting to it any time soon, but anyone is welcome to fork my repo and submit a pull request!