Postman is a pretty neat tool that gives you a very nice way develop, document and test APIs.
In my day job I’ve been using this to develop some pretty extensive GraphQL based micro service APIs, document them, and share them with scientists around the world. Postman made this really easy, so I’ve started putting together a similar collection to demonstrate the Known API.
It’s early days right now, but it demonstrates the basics, such as:
Getting a feed
Getting post types available
Getting logged in user details
Creating a Status, Photo upload and blog post
Getting the syndication options available for each type
All of these APIs are authenticated against the OAuth2 Server that’s built in to Known, and Postman will happily manage this exchange for you once you’ve set up your local environment.
You should be able to use these calls to build your own clients, and indeed, it’s these API calls that my Known IOS client makes use of.
I was recently trying to develop some Known schema changes, and had the need to start kicking about Known in a Postgres environment.
Known supports Postgres out of the box, but I admit it’s a less trodden path. I don’t routinely use Postgres (I tend to favour mysql/mariadb, purely because that’s what I’m used to), and it’s usually a pain to switch environments.
I previously built a docker development environment, so I took the obvious (and as it turned out trivial) next step to build a Postgres version.
Download and install docker
Add this docker image to known using composer composer require mapkyca/mapkyca-known-docker-postgres --dev
This will create a docker environment in /vendor/mapkyca/mapkyca-known-docker-postgres/
Point your browser at localhost:8089 and install in the usual way
Even though we’re all under house arrest, work never stops!
However, because of all this excitement, I’ve had to switch about on machines and development environments a lot recently.
Previously, I’ve used my Known vagrant build to do development, but that started to prove a little bit heavy on a number of setups I’ve been using. So, since I’ve been playing with docker more recently, I thought it’d be nice to have a development container folks could use to quickly get up and running.
I’ve created a docker image that you can use in order to set up a quick development environment for your Known, and is installable via composer.
Download and install docker
Add this docker image to known using composer composer require mapkyca/mapkyca-known-docker --dev
This will create a docker environment in /vendor/mapkyca/mapkyca-known-docker/
Point your browser at localhost:8088 and install in the usual way
Files you upload will be stored in your Known install’s “Uploads” directory.
Your database will be stored in /vendor/mapkyca/mapkyca-known-docker/db/run/.
This is designed to be used for temporary development, not production. I make no promises as to what happens to the database directory when doing composer updates.