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 Issues

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.

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)

: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.

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

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.