Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Todo API

Todo is a task management service that enables registered users to easily manage their tasks. Each task has a name as well as other optional values including due date, status, and description. The next version will include rank, so that tasks can be ordered by priority.

The Todo RESTful API is implemented as a Spring Boot app running an embedded version of Tomcat. The data store is a DynamoDB Local running in-memory. It uses JSON Web Tokens (JWT) for authentication.

Table of Contents

  1. Build and Run
  2. Reference
  3. Contributors
  4. License

Build and Run

Install DynamoDB Local

  1. Before running or testing the app, you'll need install DynamoDB Local.
  2. Set DYANMODB_HOME in the run DynamoDB script ( in the /scripts directory.

Run as a Spring Boot App

  1. Run DynamoDB Local: $ ./scripts/
  2. Then create the Todo app's tables: $ ./scripts/
  3. To build and run the project in place type: $ gradle bootRun

Note: DynamoDB Local is configured to run in-memory, so these steps will need to be repeated on each run.

Build the App

To just build the project type: $ gradle build

For information on installing Gradle go to


Getting Started

To create and manage tasks, first create a user. See signup in the User section below.

Note: All dates are specified as strings, i.e., yyyy-MM-dd or yyyy-MM-dd'T'hh:mm:ss.

For a detailed reference of the Todo RESTful API go to

API Overview


Method HTTP Requests Description Returns
signup POST /users Create a user A JWT object
profile GET /me View current user User info
login POST/access-tokens Login user A JWT object
logout DELETE/access-tokens Logout user Nothing
refresh POST /access-tokens/refresh Refresh user token JWT access token


Method HTTP Requests Description Returns
insert POST /tasks Create a task A task object
list GET /tasks Returns tasks An array of task objects
update PUT /tasks/:id Update a task A task object
delete DELETE /tasks/:id Delete a task Nothing


To reach a milestone for a major release, we'd like contributions for the following:

  • Add task for ranking and priority sorting
  • Implement task lists or categories
  • Add support for SQL or NoSQL persistent data store

Contributions can be made by following these steps:

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

If you have any questions, please don't hesitate to contact me at


This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at

By John Boyer, Rodax Software, Inc.


Todo is a RESTful task management API implemented as a Spring Boot app and running DynamoDB Local.





No releases published


No packages published
You can’t perform that action at this time.