Contact Us!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

| Download
Project: SD70
Views: 3190
\frametitle{GraphQL-like API on RethinkDB}
\vfill
\begin{center}
\Large
Building a GraphQL-like API on RethinkDB and Node.js
\end{center}
\vfill

\begin{block}{(do not look at this)}
\tiny
Browser (or iOS/Android at some point) client query:
\begin{itemize}
\item JSON object that describes what result should look like;
null's get filled in.
\verb|{table:{foo:bar, stuff:null}}| gets one record in table where \verb|foo="bar"| and \verb|{table:[{foo:bar, stuff:null}]}| gets them all.
\item If \verb|changes=true|, then any time RethinkDB table changes, client gets updates, and anytime client makes changes, they get pushed to back-end to RethinkDB.
\item Tables can be "virtual", and not correspond to actual RethinkDB tables.  e.g., different permissions, or involving multiple tables (so joins, technically; they also have a killfeed).
\end{itemize}

\begin{itemize}
\item Show {\tt schema.coffee}.

\item Text editing: describe algorithm based on the above, which isn't deployed yet.
\end{itemize}
\end{block}