Lili (Tlapka) 50ab23b4e8 | ||
---|---|---|
assets | ||
config | ||
lib | ||
priv | ||
test | ||
.formatter.exs | ||
.gitignore | ||
LICENSE.md | ||
README.md | ||
mix.exs | ||
mix.lock | ||
sunmoon_clothes.csv |
README.md
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.get
At this point the setup is good enough for local testing. You can runmix ecto setup
, theniex -S mix phx.server
to get the server running. Go tolocalhost:4000
to see the page in action.
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_BASE
for your secret. You can generate one withmix phx.gen.secret
.DATABASE_URL
in the format ofecto://USER:PASS@HOST/database
to connect to your database.PORT
for your app port. (usually 4000 or 4001)
Optional:
SENTRY_DSN
for 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 install
in theassets
subfolder, then runnpm run deploy --prefix ./assets
in the project root folder. - Run
mix phx.digest
in the project root folder. - Run
mix ecto.setup
to 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.