• Stars
    star
    21
  • Rank 1,084,038 (Top 22 %)
  • Language
    Clojure
  • License
    Eclipse Public Li...
  • Created almost 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A skeleton project for a ClojureScript Single Page Application backed by a Swagger API

spa-skeleton

A skeleton project for a ClojureScript Single Page Application (SPA) backed by a Swagger API. The aim is to provide basic wiring from which an application can be rapidly developed.

Clojure and ClojureScript, side by side

Include the following in your emacs init.el:

(custom-set-variables
 '(cider-cljs-lein-repl
   "(do (use 'figwheel-sidecar.repl-api) (start-figwheel!) (cljs-repl))"))

In the older versions of CIDER the variable is called cider-cljs-repl instead.

To start both REPLs simultaneously press C-c M-J. Figwheel will be started and a piggieback connection into the browser's Javascript VM will be automatically established.

Server

The server consists of a Pedestal web server which serves a root for the SPA and a Swagger API provided by pedestal-api. You can start it from a new Clojure REPL by loading the dev namespace and running start:

user> (dev)
dev> (start)

SPA

The SPA is a ClojureScript application which can be built and developed using Figwheel. Once the server is started, open http://localhost:8080 to connect the ClojureScript REPL. You should see the following in the CLJS REPL:

Prompt will show when Figwheel connects to your application
To quit, type: :cljs/quit
;; => nil
cljs.user>

You can make changes to the CLJS source files under /src/cljs/, save them, and see the results hot-loaded into your browser with no refresh required. You can evaluate code in the CLJS REPL just like you would in a CLJ REPL.

ClojureScript builds

There are two different builds provided: the default dev and; devcards. In the ClojureScript REPL you can switch builds using (switch-to-build "devcards"). In order to use the devcards build you will need to view cards.html instead of the index.

Devcards provides a way to test components interactively and in isolation, see more at Devcards.

Building and running from uberjar

$ lein uberjar
$ java -Dnomad.env=dev -jar target/uberjar/spa-skeleton-standalone.jar

License

Copyright © 2016 oliyh

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

More Repositories

1

martian

The HTTP abstraction library for Clojure/script, supporting OpenAPI, Swagger, Schema, re-frame and more
Clojure
470
star
2

re-graph

A graphql client for clojurescript and clojure
Clojure
447
star
3

superlifter

A DataLoader for Clojure/script
Clojure
158
star
4

re-learn

A library for integrating tutorials into your re-frame/reagent application
Clojure
138
star
5

pedestal-api

Easily build APIs in Pedestal using Schema and Swagger
Clojure
106
star
6

kamera

UI testing via image comparison and devcards
Clojure
86
star
7

lacinia-gen

Generators for GraphQL
Clojure
69
star
8

re-jump.el

emacs navigation for re-frame projects
Emacs Lisp
69
star
9

locksmith

Want to use GraphQL with Clojure/script but don't want keBab or snake_keys everywhere? Use locksmith to change all the keys!
Clojure
61
star
10

slacky

Memes as a Slack Service
Clojure
33
star
11

angel-interceptor

Express relations between Pedestal interceptors and decouple scope from execution order
Clojure
28
star
12

doo-chrome-devprotocol

A runner for doo which runs tests in Chrome, using the Chrome Dev Protocol with no need for karma or npm.
Clojure
27
star
13

carmine-streams

Utility functions for working with Redis streams in carmine
Clojure
26
star
14

fixa

Better test fixtures for clojure
Clojure
26
star
15

oxbow

A Server Sent Events (SSE) client for Clojurescript based on js/fetch
Clojure
24
star
16

re-partee

How I build Clojurescript apps
Clojure
15
star
17

carve.el

Emacs plugin for borkdude/carve
Emacs Lisp
9
star
18

alrightee

Tee for re-frame
Clojure
7
star
19

learning-clojure

Learning materials for Clojure
Clojure
5
star
20

tinybeans-archive

Create an archive of a tinybeans journal
Clojure
4
star
21

cljockwork

A REST API for cron4j, written in Clojure
Clojure
4
star
22

stardev-feedback

Capturing feedback for https://stardev.io
3
star
23

haproxy-cert-jwt

A Lua extension for HAProxy to turn an SSL client certificate into a JWT for the backend
Lua
2
star
24

one-route

A Ring webserver with one route
HTML
2
star
25

slacky-bot

All the memes for Slack
Clojure
2
star
26

cljs-webapp-from-scratch

Clojure
2
star
27

ingred

Search recipes by ingredient - a REST api written in Clojure with data scraped from the BBC
Clojure
2
star
28

sunshine

Clojure
2
star
29

fast-feedback

A presentation giving guidance on how to optimise your feedback loop and improve efficiency
HTML
1
star
30

a-taste-of-clojure

A talk to introduce (Java) developers to Clojure
JavaScript
1
star
31

sanakone

Learn Finnish
Clojure
1
star
32

masvn

Subversion integration for emacs based on dsvn and inspired by magit
Emacs Lisp
1
star