A site to list Hex packages by category.
Inspired by http://ruby-toolbox.com. Name borrowed from Josh Adams of Elixir Sips with his blessing.
WIP: Categorizing works but isn't super smooth; not pretty; not many fancy features. See TODOs.
Contributions welcome.
You are expected to have Elixir, Phoenix (including Node.js and npm) and Postgres installed.
If the default database user and password does not work for you, you can customize it by setting the POSTGRES_USER
and/or POSTGRES_PASSWORD
environment variables.
Then:
mix deps.get
mix ecto.setup
npm install
Populate the database from the Hex API:
mix run -e "Toolbox.PackageSync.run"
And start the web server:
mix phoenix.server
Now visit http://localhost:4000.
Want to wipe the DB and start over?
mix ecto.reset
mix test
Deployed to Dokku. This deploys and then runs migrations, if any:
script/deploy
Get a production console:
ssh dokku run toolbox "iex -S mix"
- List package names
- Load packages into DB via some endpoint
- Category CRU(D)
- Assigning (flat: "Phoenix / Auth") categories to packages
- Show grouped by category
- Update packages on a schedule
- List package descriptions
- Exception logging
- Verify all packages are synced (e.g. count them)
- ToC
- Page titles
- Rename? "Beambox"?
- Prettify
- Make categorize an icon
- Improve UX
- Honeypot for categories to avoid spam?
- More integrated tests. Hound?
- Show "last synced at"
- Show stats from Hex
- Show stats from GitHub
- Sass
- Slim
- Favicon
- CI
- Handle renamed/removed packages
By Henrik Nyh 2015-11-08 under the MIT license.