Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
* TODO-APP Clojure + Clojurescript (Reagent) ** Backend [[file:src/tangerina/main/][main]] && [[file:test/tangerina/main/][main-test]] Web server that serves an api route with GraphQL and a route with frontend on [[file:resources/public/index.html][./public/index.html]], possibly on future some REST routes. *** Graphql Layer with lacinia 1. Lacinia API described by the schema on [[file:src/tangerina/main/core.clj][core.clj]] and with their impl. 2. Datascript DB impl on [[file:src/tangerina/main/datascript.clj][datascript.clj]] that exposes a Lacinia interface to queries and mutations to use. **** TODO reimplement the interface in lacinia for a in-memory db in [[file:src/tangerina/main/atom_db.clj][atom_db.clj]] *** To Show **** Datascript Tests ([[file:test/tangerina/main/datascript_test.clj][datascript_test.clj]]) and Impl ([[file:src/tangerina/main/datascript.clj][datascript.clj]]). **** Lacinia interface to GraphQL with EQL, show Tests ([[file:test/tangerina/main/core_test.clj][core_test.clj]]) and Impl. ** Frontend Clojurescript front ends, reagent is served on [[http://localhost:8888/index][index]] that make requests on graphql backend, possibly on Rest in the future *** To Show **** graphql-request + pathom interface on frontend to communicate with backend ***** TODO make tests on this interface **** Reagent Impl ***** TODO make ui-tests using etaoin * How to run After startint the application, the backend api is exposed on [[http://localhost:8888/graphql][graphql]] or on [[http://localhost:8888/graphiql][graphiql]] and the frontend is on [[http://localhost:8888/index][index]]. ** with dev repl #+BEGIN_SRC sh npm install && shadow-cljs -A:test watch todo-mvc #+END_SRC ** with dev env #+BEGIN_SRC sh npm install && clj -A:test -X:dev #+END_SRC ** or build the jar #+BEGIN_SRC sh npm install && clj -X:build-cljs && clj -X:build #+END_SRC