This is a simple ReasonML application which displays information about an organization's Github repositories and their stargazers.
It was written primarily as en exercise to familiarise myself with the language and libraries.
This should be buildable in any platform that can build the patched Ocaml compiler BuckleScript needs. If in doubt, you can build the development Docker container declared here.
If using Nix, you can install the compiler using this derivation:
nix-env -iA ocaml-bs -f nix/release.nix
You will also need to install binutils
and gnumake
yarn install
yarn start
# in another tab
yarn run webpack
After you see the webpack compilation succeed (the yarn run webpack
step), open up build/index.html
(no server needed!). Then modify whichever .re
file in src
and refresh the page to see the changes.
yarn test
yarn run build
yarn run webpack:production
This will replace the development artifact build/index.js
for an optimized version.
- List all GitHub public repositories from an organization
- For each repository display:
- Repo full name, with link to the actual repo
- License info
- Embedded license info from repositories API response
- Full license info from
license_url
endpoint?
- Number of stargazers
- Drill down to a repository's 20 first stargazers in a different panel
- Display error message
- If API is down
- If organization is not found
- Make page responsive
- Bundle application with Webpack
- Unit tests
- Rendering tests
- reducer tests