Who? ๐ฆ
February 27, 2025 ยท View on GitHub
TODO: re-generate the "wall of faces" using latest data #HelpWanted

Why?
We needed an easy, fast & reliable system
to visualize who is joining
the @dwyl community
and track growth over time. ๐
The start-here > who
section is was woefully out of date
because we had to update it manually. โณ
(this was
noted
a while back...
but sadly was not made
a priority at the time...)
This mini-app/project is designed
to scratch our own itch
and save us
time.
What?
There are two ways of discovering the list of people contributing to the dwyl mission;
1. Manually check dwyl Org People Page on GitHub
Visit
github.com/orgs/dwyl/people
you can see a list of people
who are members of the Org.
Simple. effective. incomplete.
This list only scratches the surface!
2. List all contributors to dwyl repos on GitHub
Read the Commit History for all the dwyl repos on GitHub
and extract the names of people ...
As you can imagine,
this second option
is painful to do manually ... โณ
So we had to create a mini-App
to do it for us
via the GitHub API! ๐ก
How?
We built this mini-App
using the
PETAL Stack
because we feel
it's the fastest
and most effective way
to ship a web app.
Build Log ๐ทโโ๏ธ
If you want to understand every step
of the process of building the mini-app,
read:
BUILDIT.md
Run the Who App on your localhost โฌ๏ธ
Note: You will need to have
ElixirandPostgresinstalled,
see: learn-elixir#installation and learn-postgresql#installation respectively.
Tip: check the prerequisites in: /phoenix-chat-example
On your localhost,
run the following commands
in your terminal:
git clone git@github.com:dwyl/who.git && cd who
mix setup
That will download the code,
install dependencies
and create the necessary database + tables.
Next you need to do 1 minute of setup. โฑ๏ธ
Create .env file
Create an .env file by copying the sample:
cp .env_sample .env
This file will load the environment variables required to run the App.
Get your GitHub Personal Access Token
To access the GitHub API,
you will need to generate a
Personal Access Token:
github.com/settings/tokens
Click on the Generate new token button.
Name it something memorable so you know what the token is for:
and make sure the token will have both repo
and user access:
Once you've created the token, copy it to your clipboard for the next step.
Add your GitHub token to the .env file
Add your token after the = sign:
export GH_PERSONAL_ACCESS_TOKEN=
Once you've saved your .env file,
run:
source .env
Once you have sourced your .env file,
you can run the app with:
mix s
Open the App in your web browser
localhost:4000
and start your tour!
Contributing ๐ฉโ๐ป
All contributions from typo fixes to feature requests are always welcome! ๐
Please start by:
a. Star the repo on GitHub
so you have a "bookmark" you can return to. โญ
b. Fork the repo
so you have a copy you can "hack" on. ๐ด
c. Clone the repo to your localhost
and run it! ๐ฉโ๐ป
For more detail on contributing, please see: dwyl/contributing
More Features? ๐
If you have feature ideas, that's great! ๐
Please share:
who/issues ๐
Features (Todo)
-
List Repos in the Org: https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#list-organization-repositories
-
List of people that Star a given repo.
-
List of people who have contributed to repo.
