1
0
mirror of https://github.com/fazo96/ipfs-boards synced 2025-01-10 12:24:20 +01:00
a truly distributed social platform for the browser with no backend and no external applications required
Go to file
2015-11-04 17:05:27 +01:00
static implement http server 2015-11-04 16:41:17 +01:00
.gitignore first commit 2015-11-04 16:08:33 +01:00
package.json implement http server 2015-11-04 16:41:17 +01:00
README.md components info 2015-11-04 17:05:27 +01:00
server.js implement http server 2015-11-04 16:41:17 +01:00

IPFS Boards

Components

  • Client
    • a static web application to access IPFS Boards
  • Cache Server
    • can cache boards, helping to serve them via IPFS and via an HTTP gateway to the static web application and the boards' data

Note: until the IPFS Javascript Implementation is done:

  • the client (a static web application) requires a full IPFS node because it needs to be able to discover content via the IPFS API.
  • the cache server (written in node) requires a full IPFS node.

Note: if you want to write data, your IPNS needs to be taken over by the application. This problem will be addressed in the future

Data Storage

Each user exposes via IPNS a folder containing:

  • boards
    • board name(s)
  • posts
    • board name(s)
      • admin name(s)
        • post(s)
  • comments
    • board name(s)
      • admin name(s)
        • comment(s)
  • votes
    • board name(s)
      • admin name(s)
        • vote(s)
  • compatibility: could be used to store compatibility information

Post

{
  "title": "Title of the post",
  "date": "date of the post",
  "text": "Content of the post"
}

Optionally a post could have a text-url field so that crossposting is possible for lange texts without duplicating data.

Comment

Comment text

Vote

ipfs-board:vote-for:object_url

Versioning

The protocol should be versioning once it's stable enough to be useful