Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Word Penne

kbaba1001
January 28, 2021

Word Penne

kbaba1001

January 28, 2021
Tweet

More Decks by kbaba1001

Other Decks in Technology

Transcript

  1. Word Penne

    View Slide

  2. Word Penne

    WEB application for Flashcards

    ClojureScript

    Firebase

    View Slide

  3. Demo

    View Slide

  4. Tech
    • Shadow-cljs ... Build tools
    • Reagent, re-frame ... React
    • Bidi ... Router
    • Stylefy ... CSS in CLJS
    • Fork ... Form management
    • malli ... Spec and validation
    • Cypress ... E2E test
    • Firebase Emulators ... Emulators for using Firebase on localhost

    View Slide

  5. You can use shadow-cljs and npm in
    combination.
    Shadow-cljs
    Useful build tools

    View Slide

  6. • Popular
    • Useful
    • Documents
    • View -> Dispatch -> Event ->
    State -> Subscriptions
    • Interceptors
    Reagent, re-frame
    React wrapper and Flowing

    View Slide

  7. Validate args
    Interceptors
    Specs by malli

    View Slide

  8. View Slide

  9. • clojure.spec
    • easy to write
    • readable error messages
    malli
    Data-driven Schemas for
    Clojure/Script

    View Slide

  10. Shadow-cljs and css
    shadow-cljs don't support building css
    You can't import css files on cljs files
    Solutions
    • CSS in CLJS (Stylefy)
    • Tailwind CSS

    View Slide

  11. Stylefy

    View Slide

  12. Firebase
    • I used firebase npm package. I didn't use wrappers
    • Firebase Emulators is usable
    • Preview channels in Firebase Hosting are usable

    View Slide

  13. Cypress

    View Slide

  14. Tech
    • Shadow-cljs ... Build tools
    • Reagent, re-frame ... React
    • Bidi ... Router
    • Stylefy ... CSS in CLJS
    • Fork ... Form management
    • malli ... Spec and validation
    • Cypress ... E2E test
    • Firebase Emulators ... Emulators for using Firebase on localhost

    View Slide