/imagionary

Simple web image dictionary for elementary school kids

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

imagionary

FIXME: description

Developing

Setup

When you first clone this repository, run:

lein setup

This will create files for local configuration, and prep your system for the project.

Environment

To begin developing, start with a REPL.

lein repl

Then load the development environment.

user=> (dev)
:loaded

Run go to initiate and start the system.

dev=> (go)
:started

By default this creates a web server at http://localhost:3000.

When you make changes to your source files, use reset to reload any modified files and reset the server.

dev=> (reset)
:reloading (...)
:resumed

Testing

Testing is fastest through the REPL, as you avoid environment startup time.

dev=> (test)
...

But you can also run tests through Leiningen.

lein test

Migrations

Migrations are handled by ragtime. Migration files are stored in the resources/migrations directory, and are applied in alphanumeric order.

To update the database to the latest migration, open the REPL and run:

dev=> (migrate)
Applying 20150815144312-create-users
Applying 20150815145033-create-posts

To rollback the last migration, run:

dev=> (rollback)
Rolling back 20150815145033-create-posts

Note that the system needs to be setup with (init) or (go) before migrations can be applied.

Generators

This project has several generator functions to help you create files.

To create a new endpoint:

dev=> (gen/endpoint "bar")
Creating file src/foo/endpoint/bar.clj
Creating file test/foo/endpoint/bar_test.clj
Creating directory resources/foo/endpoint/bar
nil

To create a new component:

dev=> (gen/component "baz")
Creating file src/foo/component/baz.clj
Creating file test/foo/component/baz_test.clj
nil

To create a new SQL migration:

dev=> (gen/sql-migration "create-users")
Creating file resources/foo/migrations/20160519143643-create-users.up.sql
Creating file resources/foo/migrations/20160519143643-create-users.down.sql
nil

Deploying

FIXME: steps to deploy

Legal

Copyright © 2016 FIXME