views.reagent/examples/todomvc
2016-05-31 14:48:44 -04:00
..
resources/public update examples 2016-05-30 17:25:57 -04:00
src/todomvc update examples (switched to sente, copy of todomvc w/ browserchannel) 2016-05-31 14:48:44 -04:00
.gitignore add todomvc app example 2014-12-28 00:56:19 -05:00
create_db.sql add todomvc app example 2014-12-28 00:56:19 -05:00
project.clj update examples (switched to sente, copy of todomvc w/ browserchannel) 2016-05-31 14:48:44 -04:00
README.md update examples (switched to sente, copy of todomvc w/ browserchannel) 2016-05-31 14:48:44 -04:00

views.reagent Example - Todo MVC

This is a modification of the Todo MVC app for Reagent demonstrated here. This version of the app has been modified to use a PostgreSQL database to store the Todos and to provide realtime synchronization of changes to that data to any number of users currently viewing the app.

Running

A quick note on the dependencies used

Since views.reagent and the Views library it depends on are all currently in somewhat of an experimental / pre-beta state right now, you will need to first clone the following repositories and manually install the libraries via lein install:

As well, you can install views.honeysql if you want to try out using HoneySQL instead of SQL with views. But this example app does not use it so it's not required.

Creating the Database

This example app uses a PostgreSQL database. The SQL script to create it is in create_db.sql. You can easily pipe it into psql at a command line to create it quickly, for example:

$ psql < create_db.sql

(Of course, add any username/host parameters you might need)

Starting It Up

To build everything and run in one step:

$ lein rundemo

Then open up a web browser or two and head to http://localhost:8080/ to see the web app in action.

If you want to run this application in a REPL, just be sure to build the ClojureScript:

$ lein cljsbuild once

And then in the REPL you can just run:

(-main)

to start the web app (you should be put in the correct namespace immediately).