Skip to content

Developer pages for APInf Platform development

Notifications You must be signed in to change notification settings

apinf/developer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

For whom is this?

From this site you'll find detailed information about our platform development practices. This is not APInf Platform user guide.

Intended audience is people who develop the platform regardless of are they employees of APInf Oy or community members.


What is APInf Platform?

APInf platform offers a comprehensive, yet easy to use API management tool. APInf provides simplified workflow for API owners for common API management tasks so you can focus on building your APIs.

APInf Platform overview

You can publish your API in the APInf catalog without connecting it to a proxy. But connecting the API provides you with the possibility to use traffic management features, authorization and logging. The proxy acts as a façade for your API: the API clients are not accessing your API directly.​ You can manage both REST APIs and Iot APIs (MQTT) with APInf.

Publishing your API in the catalog gives better visibility for your API. The API can be published with one single step: fill in the access URL, name and description and get going! We highly recommend also adding a logo for your API – after all the API should be an easily identifiable product.

You can provide an OpenAPI documentation file for your API by uploading a file or providing a link to your file. Good API documentation saves frustration from developers and minimizes support needs from them. They can not only read the document, they can try out the calls in practice.

If you connect your API to the proxy, you can follow your API traffic and different API KPIs in the dashboard. You can monitor API response times, HTTP response types, numbers of users and most frequent users for the selected time frames. This allows you to identify for example your most popular APIs, traffic peaks or performance problems.


PLATFORM DEVELOPMENT

Understand what you are dealing with

Roadmap

APInf roadmap is decided inside the team. Decisions are business driven, but take into account technical requirements and limitations. Our roadmap is "event driven" which means that we pick bigger ICT events as milestones.

Licensing policy

We use EUPL license for core components.

Contribution process

Contributor License Agreement

Issues

Easiest way to follow development is to look at issues in Waffle. Other option is to use Github issues list.

For new issues we have template in Github which will guide you to fill in needed information.

Automated testing

We use automated testing. This means that you start developing new features by defining test first. Platform APIs have own testing process. See below.

Set up local development version

Start developing the platform by installing APInf platform. You can do this multiple ways. Here's more detailed information how to do it.

Platform branches

We have three instances running. Each of them have different purpose.


PLATFORM API DEVELOPMENT

Our platform contains multiple APIs. What ever can be done from GUI, you can do it with API. For each platform API we have two branches:

  • production (with multiple versions) and
  • design (the future version)

Production API is the live one and fully functional version. The design has been frozen. It might change, but changes are not backwards breaking. Design branch is the next API version (minor/major changes).

Process in a nutshell

API development process

Read API Design Guide for details.

Testing practices.

  • We utilize Postman in platform API testing.
  • All tests generated by Postman.
  • Tests released in platform github repository under ....

Detailed information about testing practices and tools in API testing documentation.

Currently we have following APIs

In APInf we use unified process for Platform API development. Platform APIs are non-profit APIs. Our intention is not to charge clients for using them. They are part of the platform.

We use OpenAPI spec version 2.0 in API design and documentation.

Code related to APIs can be found from here

API Design Guide

We have defined set of rules for API development.


UX DEVELOPMENT

UX Design Guide


APIBOT DEVELOPMENT

What is APIBot?

Codebase

Released version


OPEN API DESIGNER DEVELOPMENT

What is Open API Designer

About

Developer pages for APInf Platform development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published