Todo API, an example REST API based on Duct.
- Java (JDK)
java -version
>= 8 (1.8.0)
- Leiningen
- Docker
When you first clone this repository, run:
$ lein duct setup
This will create files for local configuration, and prep your system for the project.
# Start local DB
$ docker-compose up -d
# Migrate local DB
$ lein db-migrate dev
To begin developing, start with a REPL.
$ lein repl
Then load the development environment.
user=> (dev)
:loaded
Run go
to prep and initiate the system.
dev=> (go)
:duct.server.http.jetty/starting-server {:port 3000}
:initiated
By default this creates a API 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
$ lein uberjar
$ DATABASE_URL='jdbc:postgresql://localhost:5432/todo?user=dev&password=pass' java -jar target/todo-api.jar :duct/migrator
$ PORT=3000 DATABASE_URL='jdbc:postgresql://localhost:5432/todo?user=dev&password=pass' java -jar target/todo-api.jar