The Vizzlo Portfolio

Vizzlo’s portfolio is the full set of all available Vizzards (chart types). Vizzards are usually navigated to through multiple lists. See for example this portfolio content (that only contains five vizzards for demonstration purposes):

  • Bar Chart
  • Gantt Chart
  • Pie Chart
  • Waterfall Chart
  • World Map

That same five Vizzards might be show up in multiple spots throughout the portfolio:

  • Recent vizzards
    • Gantt Chart
    • Bar Chart
    • Time-Series Graph
  • All vizzards
    • Bar Chart
    • Gantt Chart
    • Pie Chart
    • Waterfall Chart
    • World Map
  • Top-rated vizzards
    • Waterfall Chart
    • Pie Chart
    • Gantt Chart
  • Project Management Vizzards
    • Gantt Chart
    • Waterfall Chart
    • Bar Chart
  • Search results for “bar”:
    • Bar Chart
    • Waterfall Chart

To be able to build this kind of structured UI, use the following API calls.

Listing Vizzards

Route

GET /api/v1/portfolio

Reading Vizzard details

Route

GET /api/v1/portfolio/id

Searching the portfolio

Route

GET /api/v1/portfolio/search

This endpoint is used to search the portfolio for certain user-specified keywords.

The JSON will contain the actual search terms as query as well as optional paging information.

Query parameters

The search request is submitted using the following query parameters:

  • query (string): User-specified search terms to search for.
  • limit (number): Optional: Maximum number of search results to return. (Default: 100)
  • offset (number): Optional: Offset of the first search result matching the query to return. (Default: 0)
  • include_description (boolean): Optional: Return a list of Vizzard descriptions instead of just Vizzards IDs.
Return value
  • query (string): The search query used by this request.
  • limit (number): Maximum number of search results to return.
  • offset (number): Offset of the first search result matching the query to return.
  • count (number): Total number of search results available matching query.
  • ids (array of strings): Ordered list of Vizzards matching query. This key will not be returned, if include_description was true.
  • vizzards (array of objects): Ordered list of Vizzard descriptions matching query. This key will only be returned, if include_description was true.

Downloading vizzards

Route

GET /api/v1/vizzards/id

Return value
{
    // …
}

Reviewing vizzards

Route

POST /api/v1/vizzards/id/reviews

Review shall be posted as JSON document with the following keys:

  • rating (number): 1–5 stars.
  • feedback (string): Written review.
  • public (boolean): true if this review shall be posted on the site.

Adding a Vizzard to the favorites

Marks the Vizzard specified by id as a favorite.

Route

PUT /api/v1/portfolio/favorites/id

Return value

Returns a JSON array of strings containing the now current list of favorites.

Removing a Vizzard from the favorites

If currently a favorite, removes the Vizzard specified by id from the list of favorites.

Route

DELETE /api/v1/portfolio/favorites/id

Return value

Returns a JSON array of strings containing the now current list of favorites.