Giter Site home page Giter Site logo

walkable-server / realworld-fulcro Goto Github PK

View Code? Open in Web Editor NEW
89.0 6.0 12.0 385 KB

A full stack implementation of RealWorld spec https://github.com/gothinkster/realworld/

HTML 1.97% Clojure 98.03%
clojure clojurescript full-stack sql postgresql duct fulcro walkable realworld

realworld-fulcro's People

Contributors

adamfeldman avatar myguidingstar avatar paulrd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

realworld-fulcro's Issues

Current Build / Test Fails

running lein test:

Warning: implicit middleware found: lein-duct.plugin/middleware 
Please declare all middleware in :middleware as implicit loading is deprecated.
Options passed to ClojureScript compiler: {:output-dir "/home/paul/repos/realworld-fulcro/target/resources/conduit/public/js", :closure-warnings {:check-types :off, :check-variables :off}, :closure-defines {"goog.DEBUG" false, "process.env.NODE_ENV" "production"}, :static-fns true, :ups-libs nil, :optimize-constants true, :closure-module-roots [], :optimizations :advanced, :ups-foreign-libs [{:file "cljsjs/showdown/development/showdown.inc.js", :provides ["cljsjs.showdown"], :file-min "cljsjs/showdown/production/showdown.min.inc.js"} {:file "cljsjs/react-dom/development/react-dom.inc.js", :file-min "cljsjs/react-dom/production/react-dom.min.inc.js", :provides ["react-dom" "cljsjs.react.dom"], :requires ["react"], :global-exports {react-dom ReactDOM}} {:file "cljsjs/react-dom/development/react-dom-server.inc.js", :file-min "cljsjs/react-dom/production/react-dom-server.min.inc.js", :provides ["react-dom/server" "cljsjs.react.dom.server"], :requires ["react-dom"], :global-exports #:react-dom{server ReactDOMServer}} {:file "xregexp/xregexp.js", :file-min "xregexp/xregexp.min.js", :provides ["cuerdas.vendor.xregexp"]} {:file "cljsjs/react/development/react.inc.js", :provides ["react" "cljsjs.react"], :requires [], :file-min "cljsjs/react/production/react.min.inc.js", :global-exports {react React}}], :verbose true, :aot-cache true, :preloads [process.env], :ignore-js-module-exts [".css"], :output-to "/home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/main.js", :preamble ["cljs/imul.js"], :asset-path "/js", :ups-externs ("cljsjs/showdown/common/showdown.ext.js" "cljsjs/react-dom/common/react-dom.ext.js" "cljsjs/react-dom/common/react-dom-server.ext.js" "externs.js" "om/externs.js" "cljsjs/react/common/react.ext.js"), :opts-cache "cljsc_opts.edn", :cache-analysis-format :transit, :main conduit.main, :emit-constants true}
Analyzing jar:file:/home/paul/.m2/repository/org/clojure/clojurescript/1.10.126/clojurescript-1.10.126.jar!/cljs/core.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/tempid.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cognitect/transit.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/transit.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/clojure/string.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/stacktrace.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/logging.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/clojure/walk.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/spec/gen/alpha.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/spec/alpha.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/util.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/clojure/set.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/client/impl/parser.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/clojure/zip.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/selectors.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tools/reader/impl/utils.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tools/reader/reader_types.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tools/reader/impl/inspect.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tools/reader/impl/errors.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tools/reader/impl/commons.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tools/reader.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tools/reader/edn.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/reader.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/tagged_literals.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/types.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/util.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/units.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/color.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/compression.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/compiler.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/garden/core.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro_css/css.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/core/async/impl/protocols.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/core/async/impl/buffers.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/core/async/impl/dispatch.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/core/async/impl/channels.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/core/async/impl/ioc_helpers.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/core/async/impl/timers.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/core/async.cljs
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/client/impl/data_targeting.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/history.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/client/impl/protocols.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/client/primitives.cljc
Analyzing /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/fulcro/client/util.cljc
Exception in thread "main" clojure.lang.ExceptionInfo: Error on key :duct.compiler/cljs when building system {:reason :integrant.core/build-threw-exception, :system {}, :function #object[clojure.lang.MultiFn 0x43b5a9fd "clojure.lang.MultiFn@43b5a9fd"], :key :duct.compiler/cljs, :value {:builds [{:source-paths ["src"], :build-options {:main conduit.main, :output-to "/home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/main.js", :output-dir "/home/paul/repos/realworld-fulcro/target/resources/conduit/public/js", :asset-path "/js", :closure-defines {goog.DEBUG false}, :verbose true, :optimizations :advanced}}]}}, compiling:(/tmp/form-init12453477082060720917.clj:1:74)
	at clojure.lang.Compiler.load(Compiler.java:7526)
	at clojure.lang.Compiler.loadFile(Compiler.java:7452)
	at clojure.main$load_script.invokeStatic(main.clj:278)
	at clojure.main$init_opt.invokeStatic(main.clj:280)
	at clojure.main$init_opt.invoke(main.clj:280)
	at clojure.main$initialize.invokeStatic(main.clj:311)
	at clojure.main$null_opt.invokeStatic(main.clj:345)
	at clojure.main$null_opt.invoke(main.clj:342)
	at clojure.main$main.invokeStatic(main.clj:424)
	at clojure.main$main.doInvoke(main.clj:387)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:702)
	at clojure.main.main(main.java:37)
Caused by: clojure.lang.ExceptionInfo: Error on key :duct.compiler/cljs when building system {:reason :integrant.core/build-threw-exception, :system {}, :function #object[clojure.lang.MultiFn 0x43b5a9fd "clojure.lang.MultiFn@43b5a9fd"], :key :duct.compiler/cljs, :value {:builds [{:source-paths ["src"], :build-options {:main conduit.main, :output-to "/home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/main.js", :output-dir "/home/paul/repos/realworld-fulcro/target/resources/conduit/public/js", :asset-path "/js", :closure-defines {goog.DEBUG false}, :verbose true, :optimizations :advanced}}]}}
	at clojure.core$ex_info.invokeStatic(core.clj:4739)
	at clojure.core$ex_info.invoke(core.clj:4739)
	at integrant.core$build_exception.invokeStatic(core.cljc:204)
	at integrant.core$build_exception.invoke(core.cljc:203)
	at integrant.core$try_build_action.invokeStatic(core.cljc:215)
	at integrant.core$try_build_action.invoke(core.cljc:212)
	at integrant.core$build_key.invokeStatic(core.cljc:221)
	at integrant.core$build_key.invoke(core.cljc:217)
	at clojure.core$partial$fn__5563.invoke(core.clj:2624)
	at clojure.core.protocols$fn__7852.invokeStatic(protocols.clj:168)
	at clojure.core.protocols$fn__7852.invoke(protocols.clj:124)
	at clojure.core.protocols$fn__7807$G__7802__7816.invoke(protocols.clj:19)
	at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
	at clojure.core.protocols$fn__7835.invokeStatic(protocols.clj:75)
	at clojure.core.protocols$fn__7835.invoke(protocols.clj:75)
	at clojure.core.protocols$fn__7781$G__7776__7794.invoke(protocols.clj:13)
	at clojure.core$reduce.invokeStatic(core.clj:6748)
	at clojure.core$reduce.invoke(core.clj:6730)
	at integrant.core$build.invokeStatic(core.cljc:240)
	at integrant.core$build.invoke(core.cljc:224)
	at integrant.core$init.invokeStatic(core.cljc:317)
	at integrant.core$init.invoke(core.cljc:309)
	at duct.core$exec.invokeStatic(core.clj:174)
	at duct.core$exec.invoke(core.clj:162)
	at conduit.main$_main.invokeStatic(main.clj:12)
	at conduit.main$_main.doInvoke(main.clj:8)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.lang.Var.invoke(Var.java:381)
	at user$eval636.invokeStatic(form-init12453477082060720917.clj:1)
	at user$eval636.invoke(form-init12453477082060720917.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7062)
	at clojure.lang.Compiler.eval(Compiler.java:7052)
	at clojure.lang.Compiler.load(Compiler.java:7514)
	... 12 more
Caused by: java.io.FileNotFoundException: The file /home/paul/repos/realworld-fulcro/target/resources/conduit/public/js/cljs/loader.cljs does not exist.
	at cljs.compiler$compile_file$fn__3706.invoke(compiler.cljc:1563)
	at cljs.compiler$compile_file.invokeStatic(compiler.cljc:1523)
	at cljs.compiler$compile_file.invoke(compiler.cljc:1499)
	at cljs.closure$compile_file.invokeStatic(closure.clj:558)
	at cljs.closure$compile_file.invoke(closure.clj:549)
	at cljs.closure$compile_from_jar.invokeStatic(closure.clj:624)
	at cljs.closure$compile_from_jar.invoke(closure.clj:595)
	at cljs.closure$fn__5101.invokeStatic(closure.clj:648)
	at cljs.closure$fn__5101.invoke(closure.clj:632)
	at cljs.closure$fn__5028$G__5021__5035.invoke(closure.clj:511)
	at cljs.closure$compile_sources$iter__5211__5215$fn__5216.invoke(closure.clj:983)
	at clojure.lang.LazySeq.sval(LazySeq.java:40)
	at clojure.lang.LazySeq.seq(LazySeq.java:49)
	at clojure.lang.Cons.next(Cons.java:39)
	at clojure.lang.RT.next(RT.java:706)
	at clojure.core$next__5108.invokeStatic(core.clj:64)
	at clojure.core$dorun.invokeStatic(core.clj:3134)
	at clojure.core$doall.invokeStatic(core.clj:3140)
	at clojure.core$doall.invoke(core.clj:3140)
	at cljs.closure$compile_sources.invokeStatic(closure.clj:979)
	at cljs.closure$compile_sources.invoke(closure.clj:968)
	at cljs.closure$build.invokeStatic(closure.clj:2775)
	at cljs.closure$build.invoke(closure.clj:2680)
	at cljs.build.api$build.invokeStatic(api.clj:205)
	at cljs.build.api$build.invoke(api.clj:189)
	at cljs.build.api$build.invokeStatic(api.clj:192)
	at cljs.build.api$build.invoke(api.clj:189)
	at duct.compiler.cljs$build_cljs.invokeStatic(cljs.clj:7)
	at duct.compiler.cljs$build_cljs.invoke(cljs.clj:6)
	at clojure.core$mapv$fn__8088.invoke(core.clj:6832)
	at clojure.lang.PersistentVector.reduce(PersistentVector.java:341)
	at clojure.core$reduce.invokeStatic(core.clj:6747)
	at clojure.core$mapv.invokeStatic(core.clj:6823)
	at clojure.core$mapv.invoke(core.clj:6823)
	at duct.compiler.cljs$eval2550$fn__2552.invoke(cljs.clj:11)
	at clojure.lang.MultiFn.invoke(MultiFn.java:233)
	at integrant.core$try_build_action.invokeStatic(core.cljc:213)
	... 40 more

Sign-up page does not work

After exectuting lein repl, (dev), (go) and connecting to localhost:3000/index.html (or localhhost:4000 with caddy), when I click on the sign-up page link at top-right, no sign-up form is displayed.

:header "Authorization" token not used?

I just want to confirm how this app checks authorization. I can't run this app yet, but I want to see if I'm missing anything. I see the token get's set at login, but never seems to get used.

Progress

  • db design and migration
  • walkable handler
  • jwt token
  • support tempid type in transit+json
  • all view components
  • routing
    • basic setup
    • links in nav bar
    • links else where
    • load data before navigation actions
  • login/sign-up
    • login/sign-up forms instead of hardcoded buttons
    • change password in settings
    • reload data after login/sign-up/logout
    • log out button
    • only show some buttons when appropriate
  • mutate components
    • article editor
    • tag list editor
    • comments
    • settings
    • (un)folow buttons
    • (un)like buttons
  • html5 routing
    • pushy
    • reitit
    • reverse proxy: catch all urls and return index.html
  • validation + success/error messages (pessimistic update)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.