phase 2 - isel-leic-ls/2122-2-common GitHub Wiki
Introduction
This document describes the requirements for the second phase of the Software Laboratory project.
Requirements
Paging
All Web API GET
operations that return a sequence should support paging, i.e., the ability to return a subsequence from the overall sequence.
This paging is defined by two parameters:
limit
- length of the subsequence to return.skip
- start position of the subsequence to return.
For example, the request GET /users?skip=6&limit=3
returns the users
subsequence starting at the seventh user and ending on the ninth user.
Additional Operations
-
Delete a set of activities, given the following additional information:
activities
- a set with the activities ids to remove
-
Get the list of users that have an activity, given the following parameters:
sid
- sport's identifierrid
- route's identifier
The list should be sorted by activity duration.
Single Page Application
The main requirement for the second phase is the delivery of a Single Page Application (SPA) to provide a Web User Interface to the GET
operations developed in the first phase.
In this repository there are two examples of simple Single Page Applications:
To see these two examples working, you must launch the HTTPServer application on file pt.isel.ls.http.HttpServer.kt
and go to the following URI on your web browser: http://localhost:9000/
Note that the routes in file pt.isel.ls.http.HttpServer.kt
have been updated.
The UI responses for any successful requests, must comply to the following:
-
When the corresponding API response contains an array, the HTML view must include a link to each element detail. For instance, the HTML generated on a successful
GET
to/users
must include links to each user's details. -
All HTML views must contain links required to ensure the navigability defined in the following graph:
(Click here for a bigger picture)
- All views must include links to
home
,users
,sports
,routes
andactivities
.
Report
The technical report created for phase 1 should be updated and/or extended with the relevant technical information. The sections developed for phase 1 can be improved or changed. There should not be a separate report for phase 2. The goal is to have a single report, updated through all the project phases.
There isn't any template for phase 2.
Delivery date
The phase 2 must be delivered until the end of week 8 (April 30), through the creation of the 0.2.0 tag on the group´s GitHub repository.