All Projects → anmonteiro → Reason Graphql Fullstack

anmonteiro / Reason Graphql Fullstack

Licence: mit
Fullstack Reason + GraphQL Todo List App

Programming Languages

ocaml
1615 projects
reason
219 projects

Projects that are alternatives of or similar to Reason Graphql Fullstack

Rescript Relay
Use Relay with ReasonML.
Stars: ✭ 214 (-13.01%)
Mutual labels:  graphql, reason-react, reasonml
Brisk Reconciler
React.js-like reconciler implemented in OCaml/Reason
Stars: ✭ 124 (-49.59%)
Mutual labels:  reason-react, reasonml
Reroute
a fast, declarative microrouter for reason-react
Stars: ✭ 120 (-51.22%)
Mutual labels:  reason-react, reasonml
Reason Apollo Hooks
Deprecated in favor of https://github.com/reasonml-community/graphql-ppx
Stars: ✭ 140 (-43.09%)
Mutual labels:  graphql, reasonml
Verified React
Automated reasoning for React/ReasonML
Stars: ✭ 104 (-57.72%)
Mutual labels:  reason-react, reasonml
Reason Calculator
A calculator built with Reason and reason-react.
Stars: ✭ 110 (-55.28%)
Mutual labels:  reason-react, reasonml
Reason Graphql
GraphQL server in pure Reason (Bucklescript)
Stars: ✭ 137 (-44.31%)
Mutual labels:  graphql, reasonml
Recontainers
[DEPRECATED] ReasonReact utilitary high order components
Stars: ✭ 54 (-78.05%)
Mutual labels:  reason-react, reasonml
Graphql Ppx
GraphQL language primitives for ReScript/ReasonML written in ReasonML
Stars: ✭ 185 (-24.8%)
Mutual labels:  graphql, reasonml
Bs Material Ui
ReScript bindings for material-ui
Stars: ✭ 185 (-24.8%)
Mutual labels:  reason-react, reasonml
Httpkit
⚡️ High-level, High-performance HTTP(S) Clients/Servers in Reason/OCaml
Stars: ✭ 198 (-19.51%)
Mutual labels:  native, reasonml
Timerlab
⏰ A simple and customizable timer
Stars: ✭ 84 (-65.85%)
Mutual labels:  reason-react, reasonml
Introduce Reason Example
An example app made with Create React App which introduces a Reason component
Stars: ✭ 82 (-66.67%)
Mutual labels:  reason-react, reasonml
Rescript Recoil
Zero-cost bindings to Facebook's Recoil library
Stars: ✭ 115 (-53.25%)
Mutual labels:  reason-react, reasonml
Rescript React Update
useReducer with updates and side effects!
Stars: ✭ 79 (-67.89%)
Mutual labels:  reason-react, reasonml
Pure
React in pure Reason that targets native platforms.
Stars: ✭ 135 (-45.12%)
Mutual labels:  reason-react, reasonml
Revery
⚡ Native, high-performance, cross-platform desktop apps - built with Reason!
Stars: ✭ 7,812 (+3075.61%)
Mutual labels:  native, reasonml
Pragma
Pragma is a self-hosted, open-source, personal note taking app.
Stars: ✭ 39 (-84.15%)
Mutual labels:  reason-react, reasonml
Fullstack Reason
A demo project that shows a fullstack ReasonML/OCaml app–native binary + webapp
Stars: ✭ 164 (-33.33%)
Mutual labels:  reason-react, reasonml
Reason Urql
Reason bindings for Formidable's Universal React Query Library, urql.
Stars: ✭ 203 (-17.48%)
Mutual labels:  graphql, reasonml

Reason / GraphQL Shared Backend

This is an example of a fullstack Reason + GraphQL application that uses a native backend and a client compiled to JavaScript through BuckleScript, whilst sharing types between the backend and the frontend.

Technologies / Libraries:

This was initially based on @jaredly's isomagic-todos experiment that accomplished sharing types between the backend & frontend through some PPX magic.

In this case, we leverage the power of GraphQL and its support in OCaml through ocaml-graphql-server and graphql_ppx to build our API through shared OCaml / Reason types (have a look in src/shared).

Running

Build the front-end

  • yarn && yarn build && yarn bundle

Build and run the backend

Note: it's a quiet startup; check http://localhost:8080/graphql to see that it's running!

  • npm install -g esy
  • esy @server
  • esy @server x graphql

Neat tricks

  • GraphQL schema fully defined in Reason (see src/server/schema.re)
  • There's also a GraphiQL instance at localhost:8080/graphql for exploring and playing with the queries and mutations.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].