Skip to content
Pedro Felix edited this page Dec 10, 2016 · 1 revision

Phase 4

Introduction

This document describes the requirements for the fourth and final phase of the Software Laboratory project.

Requirements

Hosting on Heroku

Host the application on the Heroku and AppHarbor PaaS (Platform as a Service) providers, following the guidelines described in the Deploying to Heroku page and the Using a hosted SQL Server page.

Logging

Add logging of any relevant event information into the developed application. Use the Simple Logging Facade for Java (SLF4J), configured with the binding for the Simple implementation. See TimeServlet.java for an example.

Resource creation via the HTTP interface

The main goal for this requirement is to add support for the commands with POST method in the HTTP interface. For that, the representations for the following resources should be augmented with HTML forms:

  • /checklists - form to create a new checklist.
  • /checklists/{cid} - form to add a new task to checklist cid; forms to close or open existing tasks; form to add a new tag to checklist cid.
  • /templates - form to create a new template.
  • /templates/{tid} - form to create a new task on template tid; form to create a new checklist based on template tid.
  • /tags - form to create a new tag.

Each one of these forms must, when submitted, send a POST request to the associated resource. For instance:

  • The representation returned on a GET /checklists request should contain a form with the fields name, description and dueDate.
  • This form, when submitted, must send a POST request to /checklists containing these three fields in the body.
  • If the POST request is successful, i.e. a new checklist was created, its response should be a 303 See Other with the Location header pointing to the created resource (e.g. /checklists/123).

Hosting on Heroku

Host the application on the Heroku and AppHarbor PaaS (Platform as a Service) providers, following the guidelines described in the Deploying to Heroku page and the Using a hosted SQL Server page.

Delivery

The completed project must be delivery until January 14 (end of week 15), via the creation of a 1.0.0 tag on the GitHub repository.

Clone this wiki locally