POCZone #1: Platform Concept

Shared App Spaces with Live JSON Data

Hendrik Ewerlin
Side Project Lovers Unite!
2 min readJan 5, 2018

--

I’m currently rewriting my website POCZone.net (with POC = Proof of Concept). The website offers experimental note taking applications. This article covers the requirement analysis and the platform concept.

For an overview of the progress and all articles, visit the following story.

Requirements? A lot in common…

Most of my applications are note taking apps — ToDo lists, Kanban boards, diaries, wikis, etc. I discovered, they have a lot in common:

  1. User context: They require authentication and data must be stored confidentially.
  2. Spaces: I want multiple isolated spaces for each app (e.g. Work, Private, Project A, Project B, …).
  3. Collaboration: I want to share spaces with other users and grant reader / writer / admin permissions.
  4. JSON data storage: A storage solution that stores JSON Objects for ID strings in each space suffices in most cases.
  5. Incremental live updates: I want to sync incremental data updates in both directions (client ↔ server). In case of concurrent use, these updates shall be synced instantly (client 1 → server → client 2).

The POCZone.net Platform Concept

The concept of the POCZone.net platform is to handle all the common parts, so I can focus on the apps themselves.

My Backend Service provides all the functionality over an HTTP interface. It is composed of multiple operations. Their topics are Authentication, Space Management and Sharing, Data Access Tokens and Live JSON Data. All operations are executed with a HTTP POST request to the endpoint of the operation. The input is URL encoded form data. The output is JSON. So it is very easy to consume the service as a client. A generated user interface for the backend is provided.

The Portal Application is the main user interface for the Backend Service. It’s what the user sees at https://poczone.net/. It handles authentication. It provides space overview, management and sharing for the various apps I provide. And it launches the apps.

Apps are started with an integration call in an iframe. The call has a data token URL parameter. The app can then include my JavaScript Client API and access JSON data with live updates for the space behind the data token. The top panel of the portal application remains visible, so the user can always go back to the overview.

Third party apps are possible!

--

--