โ ๏ธ The tech stack used by this project is old and considered deprecated. Check out V2!
This project demonstrates the following tech stack:
Reason is a statically-typed, functional programming language backing by OCaml.
It leverage both the JavaScript & OCaml ecosystems by providing a familiar syntax geared toward JavaScript programmers and by catering to the existing NPM/Yarn workflow folks already know.
ReasonReact is Reason's official binding to React.js. By leveraging the Reason's built-in language features, it pack React.js' APIs into one that is statically-typed, simple, familiar and feels "Just using Reason".
Two of the cool examples are its built-in ReducerComponent and its built-in ReasonReact Router. Both are used in this project!
GraphQL_PPX is a syntax extension for BuckleScript/Reason. It make constructing GraphQL queries in Reason a first-class experience and type-safe, with compile time type check instead of runtime errors.
Check out the super cool VSCode editor support on its homepage.
Reason Scripts is a thin Reason layer over Create-React-App, which provides a JS-like development environment for developing webapps with ReasonReact. Though in most cases, use the bsb option.
It bootstraps an environment to automatically compile all Reason code to JS, provides features like hot reloading and bundling, and seamlessly uses JS code from Reason.
BuckleScript is a compiler and toolchain that transforms OCaml/Reason into readable JavaScript code. It comes with a powerful API to talk to JS, allowing you to access the latter's vast ecosystem.
Github announced its public APIs v4 that supports GraphQL. Thanks to that, we can play and demonstrate GraphQL's power without needing to build our own server first.