diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..ef97453
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
index 3d04b99..46e1d16 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,11 +11,13 @@ pom.xml.asc
/resources/public/vendor
/bower_components/
/resources/public/js/lib/
+.clj-kondo/
.lein-deps-sum
.lein-repl-history
.lein-plugins/
.lein-failures
.lein-env
+.lsp/
.nrepl-port
/node_modules/
.DS_Store
@@ -49,3 +51,11 @@ youyesyet\.dump\.20180816
*.tar
src/clj/youyesyet/cache\.clj
+
+.lsp/sqlite.db
+
+.settings/
+
+.classpath
+
+.project
diff --git a/.project b/.project
new file mode 100644
index 0000000..ec3e80d
--- /dev/null
+++ b/.project
@@ -0,0 +1,40 @@
+
+
+ youyesyet
+
+
+
+
+
+ ccw.builder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+ ccw.nature
+
+
+
+ 1621149723161
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..ac8e750
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/README.md b/README.md
index 714542e..c37d944 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ generated using Luminus version "2.9.11.05"
## Status
-Very early pre-alpha; user interface mostly works (enough to demonstrate), back end is hardly started.
+Alpha level code. Most of it works, but it's a bit fragile.
## What is it supposed to do?
@@ -36,6 +36,19 @@ Where *username* is the username required to access the database, and *thisisnot
It will be helpful for you to have the [Zenhub](https://www.zenhub.com/) plugin in your browser, either Firefox or Chrome, as I'm using it for project planning.
+## Build procedure
+
+YouYesYet is build on the [Application Description Language](https://github.com/simon-brooke/adl) framework, which is also mine and not widely used. Application Description Language is a very high level descriptor language for applications, which allows a huge amount of code to be automatically generated. This generated code is **not** checked into the repository; instead, you must regenerate it before you can build.
+
+Consequently, to get a build running:
+
+1. clone the repository, if you have not already done so;
+2. within your cloned repository, check out a branch (usually `develop` or `master`);
+3. if you have previously built the project within your cloned repository, run `lein clean`;
+4. **this is the important bit** run `lein adl` to generate much of the application code;
+5. run `lein run` to start your development server;
+6. if you want to do client debugging, you'll want to run `figwheel` in a separate process, but also from the same cloned repository directory; I normally do this by opening a second terminal and invoking `lein figwheel`.
+
## Further Reading
If you're thinking of joining in development on this I'd strongly recommend you get hold of a copy of [Dmitry Sotnikov](https://github.com/yogthos)'s [Web Development with Clojure, Second Edition](https://pragprog.com/book/dswdcloj2/web-development-with-clojure-second-edition).
@@ -187,5 +200,4 @@ Copyright © 2016 Simon Brooke for the Radical Independence Campaign.
Licensed under the GNU General Public License, version 2.0 or (at your option) any later version.
**NOTE THAT** files which are directly created by the Luminus template do not currently have a GPL header
-at the top; files which are new in this project or which have been substantially modified for this project
-do have a GPL header at the top.
+at the top; files which are new in this project or which have been substantially modified for this project should have a GPL header at the top.
diff --git a/env/dev/clj/user.clj b/env/dev/clj/user.clj
index 97cb362..33da5ed 100644
--- a/env/dev/clj/user.clj
+++ b/env/dev/clj/user.clj
@@ -30,6 +30,6 @@
(.bind "java:comp/env/jdbc/testdb"
(doto (org.postgresql.ds.PGSimpleDataSource.)
(.setServerName "localhost")
- (.setDatabaseName "youyesyet_dev")
+ (.setDatabaseName "loriner") ;; "youyesyet_dev")
(.setUser "youyesyet")
(.setPassword "thisisnotsecure"))))
diff --git a/project.clj b/project.clj
index b52f6a5..d167d19 100644
--- a/project.clj
+++ b/project.clj
@@ -1,55 +1,61 @@
-(defproject youyesyet "0.2.2"
+(defproject youyesyet "0.2.3-SNAPSHOT"
:description "Canvassing tool for referenda"
:license {:name "GNU General Public License,version 2.0 or (at your option) any later version"
:url "https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html"}
:url "https://github.com/simon-brooke/youyesyet"
+ ;; NOTE: lein-ancient failed on 20220616; it will have to be done soon if the project is to
+ ;; procede, but I need to fix regressions first.
+
:dependencies [[adl-support "0.1.6"]
+ [binaryage/devtools "1.0.3"]
[bouncer "1.0.1"]
[ch.qos.logback/logback-classic "1.2.3"]
[clj-oauth "1.5.5"]
- [cljsjs/react-leaflet "1.6.5-0"]
- ;; [cljsjs/react-leaflet "2.0.1-0"] is available but doesn't seem to work fully
+ ;; [cljsjs/react-leaflet "1.6.5-0"]
+ ;; [cljsjs/react-leaflet "2.4.0-0"] is available but doesn't seem to work fully
+ [cljsjs/leaflet "1.5.1-0"] ;; leaflet-reagent-reframe uses this and it works with Firefox!
[cljs-ajax "0.8.0"]
[com.andrewmcveigh/cljs-time "0.5.2"]
[clojure.java-time "0.3.2"]
[com.cemerick/url "0.1.1"]
[compojure "1.6.1"]
[conman "0.8.3"]
- [cprop "0.1.13"]
+ [cprop "0.1.14"]
[day8.re-frame/http-fx "0.1.6"]
[korma "0.4.3"]
[lib-noir "0.9.9" :exclusions [org.clojure/tools.reader]]
- [luminus/ring-ttl-session "0.3.2"]
+ [luminus/ring-ttl-session "0.3.3"]
[luminus-nrepl "0.1.6"]
- [luminus-migrations "0.6.5"]
+ [luminus-migrations "0.6.6"]
[luminus-immutant "0.2.5"]
- [markdown-clj "1.0.8"]
- [metosin/compojure-api "1.1.12"]
+ [markdown-clj "1.10.0"]
+ [metosin/compojure-api "1.1.13"]
[metosin/ring-http-response "0.9.1"]
- [migratus "1.2.3"]
+ [migratus "1.2.7"]
[mount "0.1.16"]
[org.clojure/clojure "1.9.0"]
[org.clojure/clojurescript "1.10.520" :scope "provided"]
- [org.clojure/core.memoize "0.7.1"]
+ [org.clojure/core.memoize "0.8.2"]
;;[org.clojure/spec.alpha "0.2.168"]
[org.clojure/tools.cli "0.4.2"]
- [org.clojure/tools.logging "0.4.1"]
- [org.postgresql/postgresql "42.2.5"]
+ [org.clojure/tools.logging "0.5.0"]
+ [org.postgresql/postgresql "42.2.8"]
[org.webjars/bootstrap "4.3.1"]
- [org.webjars/font-awesome "5.8.1"]
+ [org.webjars/font-awesome "5.11.2"]
[org.webjars.bower/tether "1.4.4"]
[postgre-types "0.0.4"]
- [re-frame "0.10.6"]
+ [re-frame "0.10.9"]
[reagent "0.8.1"]
- [reagent-utils "0.3.2"]
+ [reagent-utils "0.3.3"]
+ [recalcitrant "0.1.2"]
[ring-middleware-format "0.7.4"]
[ring/ring-defaults "0.3.2"]
[ring/ring-servlet "1.7.1"]
[ring-webjars "0.2.0"]
[secretary "1.2.3"]
- [selmer "1.12.12"]]
+ [selmer "1.12.40"]]
:deploy-repositories [["releases" :clojars]
["snapshots" :clojars]]
@@ -64,9 +70,9 @@
:main ^:skip-aot youyesyet.core
:migratus {:store :database :db ~(get (System/getenv) "DATABASE_URL")}
- :plugins [[lein-adl "0.1.7"]
+ :plugins [[lein-adl "0.1.8-SNAPSHOT"]
[lein-cljsbuild "1.1.7"]
- [lein-codox "0.10.7-multilang"]
+ [lein-codox "0.10.7"]
[lein-cprop "1.0.3"]
[lein-kibit "0.1.6"]
[lein-less "1.7.5"]
@@ -153,15 +159,15 @@
[ring/ring-devel "1.7.1"]
[org.webjars/webjars-locator-jboss-vfs "0.1.0"]
[luminus-immutant "0.2.5"]
- [pjstadig/humane-test-output "0.9.0"]
+ [pjstadig/humane-test-output "0.10.0"]
[binaryage/devtools "0.9.10"]
[com.cemerick/piggieback "0.2.2"]
[directory-naming/naming-java "0.8"]
[doo "0.1.11"]
- [figwheel-sidecar "0.5.18"]]
+ [figwheel-sidecar "0.5.19"]]
:plugins [[com.jakemccrary/lein-test-refresh "0.23.0"]
[lein-doo "0.1.10"]
- [lein-figwheel "0.5.16"]
+ [lein-figwheel "0.5.19"]
[org.clojure/clojurescript "1.10.520"]]
:cljsbuild {:builds
{:app
diff --git a/resources/public/img/map-pins/basic_map_pin.png b/resources/public/img/map-pins/basic_map_pin.png
deleted file mode 100644
index c14e0be..0000000
Binary files a/resources/public/img/map-pins/basic_map_pin.png and /dev/null differ
diff --git a/resources/templates/app.html b/resources/templates/app.html
index acf8274..9c2220f 100644
--- a/resources/templates/app.html
+++ b/resources/templates/app.html
@@ -2,9 +2,9 @@
{% block head %}
-
-
-
+
+
+
{{site-title}}: {{title}}
{% endblock %}
@@ -42,13 +42,13 @@
{% endblock %}
{% block extra-tail %}
-
-
-{% script "js/lib/node_modules/signature_pad/dist/signature_pad.min.js" %}
-{% script "js/lib/node_modules/leaflet/dist/leaflet.js" %}
-{% script "/js/app.js" %}
+
+
+
+
+
{% endblock %}
diff --git a/resources/templates/base.html b/resources/templates/base.html
index 92e2a75..a60bd83 100644
--- a/resources/templates/base.html
+++ b/resources/templates/base.html
@@ -17,6 +17,9 @@
{% endblock %}
+ {% if servlet-context %}
+
+ {% endif %}
{% block whole-page %}
@@ -24,20 +27,20 @@
{% block top %}
-

+
@@ -87,17 +90,17 @@
diff --git a/resources/templates/login.html b/resources/templates/login.html
index dca783e..1c337db 100644
--- a/resources/templates/login.html
+++ b/resources/templates/login.html
@@ -11,7 +11,7 @@
{% endblock %}
{% block content %}
-