Table of Contents

The pinboard

Kate Santo Updated by Kate Santo

The pinboard (otherwise known as the corkboard) allows users to save or 'pin' posts that they want to refer back to. Users can also create notes or reminders in the pinboard.

Find out more about how the pinboard works from a technical point of view in this guide.

See for yourself

  • You can download the iOS or Android app on your phone to follow this journey along. And you can also log in or sign up to the web app here
  • You can also follow along by checking out the images or code snippets in this guide
  • And you will find the relevant endpoints linked and explained in this guide, but the full API is documented in Swagger UI

The pinboard

Logged in users can launch and open the pinboard from several places in both the web and mobile apps. Regardless of how the pinboard is launched, its content is retrieved via the getUserNotes endpoint. This endpoint accepts responses in 2 formats: JSON and text/calendar. JSON is the standard format, and text/calendar is the format of events and bookings. This is relevant here because, when users make a booking or confirm attendance to an event, these are saved to the pinboard automatically. Find out more about bookings and events in our guides: Bookings and Post types - Events.

The getUserNotes endpoint might return something like this. Scroll down to see a breakdown of this response.

{
"notes": [{
"id": "0857ef05-c780-4fe2-a4d3-518732495f19",
"version": 1,
"type": "PIN",
"title": "Rooftop social event",
"text": "Hey neighbours! Anybody up for a drink up in the roof terrace now it's allowed? Join the event and we'll see you there!",
"creationTimestamp": "2021-03-26T10:37:04.437Z",
"modifiedTimestamp": "2021-03-26T10:37:04.437Z",
"padoqName": "My Building",
"tags": ["events"],
"link": {
"uri": "https://api.padoq.com/resrc/padoq/my-building/post/0857ef05-c780-4fe2-a4d3-518732495f19/version/1",
"postId": "0857ef05-c780-4fe2-a4d3-518732495g20",
"title": "Rooftop social event",
"displayText": null,
"imageUri": null
}
},
{
"id": "0857ef05-c780-4fe2-a4d3-518732495f19",
"version": 1,
"type": "BASIC",
"title": "Edale circular walk",
"text": "Meeting point: village hall car park",
"creationTimestamp": "2020-11-13T15:39:47.692Z",
"modifiedTimestamp": "2020-11-13T15:39:47.692Z",
"padoqName": "Weekend-Hikes",
"tags": [],
"link": null
},
{
"id": "0857ef05-c780-4fe2-a4d3-518732495f19",
"version": 1,
"type": "REMINDER",
"title": "",
"text": "Bring in usb adaptor for Sarah!",
"creationTimestamp": "2020-11-13T15:39:24.226Z",
"modifiedTimestamp": "2020-11-13T15:39:24.226Z",
"padoqName": "Team-Comms",
"tags": [],
"link": null
},
{
"id": "0857ef05-c780-4fe2-a4d3-518732495f19",
"version": 1,
"type": "PIN",
"title": "",
"text": "lebron james is mvp right??",
"creationTimestamp": "2020-10-02T09:39:15.882+01:00",
"modifiedTimestamp": "2020-10-02T09:39:15.882+01:00",
"padoqName": "NBA",
"tags": [],
"link": {
"uri": "https://api.padoq.com/resrc/padoq/NBA/post/0857ef05-c780-4fe2-a4d3-518732495f19/version/1",
"postId": "0857ef05-c780-4fe2-a4d3-518732495g20",
"title": "",
"displayText": null,
"imageUri": null
}
}
]
}

Breaking down the response

Types of posts in the pinboard

There are 3 types of posts that can go into the pinboard: basic, reminder and pin.

  • Basic: these are standard notes. In the code snippet, the basic note with a title of "Edale circular walk" is a good example. The user can create them via an option in the UI that calls the createNote endpoint. It takes no parameters and simply saves what the user inputs in the UI: text, a tag and the padoq they want to save the note to (this is not compulsory and users can save notes to "all padoqs")
  • Reminder: these are similar to basic notes, but with a timestamp stored on the user's device. The app uses that timestamp to send a push notification to the user with the content of the reminder. In the code snippet above, the object with type:"reminder" is a good example of this type of post
  • Pin: these are posts from different padoqs that the user has "pinned" or saved. The object with a text property of "lebron james is mvp right??" in the code above is a good example. The 3 most relevant properties here are:
    • padoqName, which takes as a value the name of the padoq that the post was originally created in
    • uri, which sets the original location of the post. When the user clicks or taps the post, they will be taken to it thanks to this uri
    • postId, which is the id of the original post

Tags

Users can create tags to organise their pinboard. When the user is creating a note, the getUserTags endpoint will bring up all of their tags. The tags that the user picks for a particular note will go into the tags property.

And if the user needs to remove or add tags, they can do so via an option in the UI that calls the updateUserTags endpoint.

Editing and deleting items in the pinboard

The editNote endpoint allows edition of notes. When the note is a pinned post and the user is the author of that post, they can edit it. This is done via the editPost endpoint instead.

Users can delete their notes through the deleteNote endpoint. When the note is a pinned post, that endpoint will "unpin" the post, but it won't delete it from its original location.

How did we do?

Post types

Creating a padoq (group)

Contact