Skip to content
Pedro Felix edited this page Nov 9, 2019 · 2 revisions

Phase 3

Introduction

This document describes the requirements for the third phase of the Software Laboratory project.

Requirements

HTTP Server

The main requirement for the third phase is the delivery of an HTTP interface able to handle all the GET commands developed on the first and second phases. This interface must use the HTTP (Hypertext Transfer Protocol) protocol to receive command requests and return their responses. The response's contents must use the text/plain, and text/html.

The HTTP interface server must be available when the application starts, on the port defined by the PORT environment variable, or on port 8080 if this environment variable is not defined.

Hypermedia

The responses for any successful request must fulfil the following requirements:

  • When the response is represented in the HTML format and contains a list, then each item must include a link to the item detail. For instance, the HTML document returned on a successful GET to /projects must include links to each course, pointing to /project/{pid}.

  • The responses must also contain the links required to ensure the navigability between all the resources, as defined in the following graph. For instance, the document returned on a successful GET to /projects/{pid} must contain a link to /projects.

  • All the representations must include a link to the root (home) representation.

Link graph

(Click here for a bigger picture)

Delivery

This project phase must be delivery until November 30 (end of week 12), via the creation of a 0.3.0 tag on the GitHub repository.

Clone this wiki locally