Pokémon Couture
A work-in-progress Phoenix app for tracking clothes acquisition in Pokémon Sun & Moon. Only supports female clothes for now.
I run a public version of the site at: https://couture.pikachu.rocks/
Currently, you need to have an account on the site to be able to use the tracker. Also, there is no e-mail server connected, so e-mails are not verified, and password resets and e-mail changes have to be done by contacting the admin.
Installation
Here is how to spin up your own Pokémon Couture Instance.
- Make sure you have Elixir,
Phoenix,
and a database like PostgreSQL installed.
You will also need npm. Also make sure that you have a C compiler andmake.
- Clone this git repository.
- In the repository folder, run mix deps.getAt this point the setup is good enough for local testing.
Running locally/dev environment
If you run npm install in the assets subfolder, then you can run mix ecto setup, then iex -S mix phx.server to get the server running.
Go to localhost:4000 to see the page in action. (If you do not run npm install in assets, the app will still work, but it will not have assets.)
Running in prod
To run the application in prod, you need to set a few environment variables, and run a few more commands.
Environment variables
- MIX_ENV=prod
- SECRET_KEY_BASEfor your secret. You can generate one with- mix phx.gen.secret.
- DATABASE_URLin the format of- ecto://USER:PASS@HOST/databaseto connect to your database.
- PORTfor your app port. (usually 4000 or 4001)
Optional:
- SENTRY_DSNfor your Sentry DSN if you're planning to track errors with Sentry.
Preparing prod
All of those commands are assuming you set the environment variables above.
- Run npm installin theassetssubfolder, then runnpm run deploy --prefix ./assetsin the project root folder.
- Run mix phx.digestin the project root folder.
- Run mix ecto.setupto set up the database (and seed it).
Now you can run the server. mix phx.server (or elixir --erl "-detached" -S mix phx.server for detached mode).
You may also want to set up something like Caddy or nginx as a reverse proxy.
License and attributions
assets/static/images/pikachu.png is a pikachu icon by WEBTECHOPS LLP from the Noun Project, licensed as Creative Commons CCBY.
The source code is licensed under AGPL.
Possible future improvements
While the app is currently in a state that works, there are some improvements I would like to make for it later down the line.
Some of those are:
- Support for male clothes
- Support for the few extra items from Ultra Sun and Ultra Moon
- Check the list against a real Pokémon Sun game (I only checked with my own Pokémon Moon cartridge.)
- A version of the tracker that works without an account
- A transfer feature that allows to copy that progress upon account creation
 
- Working e-mail verification
- Better look for the tracker page
- Display clothes in a more organized manner
- Sort clothes the same way the game does it
 
Other clothing masterlists - inacuraccies
My app has adapted the following masterlists, however, when checking in the actual Pokémon Moon game, I found several inacuraccies:
- https://samurai-gamers.com/pokemon-sun-and-moon/apparel-items-list/ is missing an entire shop. Some pieces list wrong colors, or misattribute gender.
- https://www.serebii.net/sunmoon/customisation.shtml is incomplete.
- https://bulbapedia.bulbagarden.net/wiki/Fashion_item seems to be accurate.