DEV Community

Cover image for Powerful Calendar Management API for your web projects
Spurwing
Spurwing

Posted on • Edited on

Powerful Calendar Management API for your web projects

The Spurwing API provides powerful features for calendar management and appointment scheduling purposes. In this post I will briefly go over the API design, and show how you can integrate it in your web development projects with ease.

Alt Text

Intro

Managing and scheduling appointments of any kind can be a very complex process. We have to take many factors into consideration, such as overlapping slots, availabilities, timezones and daylight saving times.

On top of that we may need to synchronize it with our other calendars from Google, Outlook and Apple. But it doesn't stop there, what if someone cancels and we need to re-organize the schedules for optimal efficiency.

Things can quickly get very complicated, especially in large enterprises with employees having multiple calendars.

There are many dedicated calendar management companies out there, unfortunately their core offerings are web calendars with limited API features.

At Spurwing our focus is providing an advanced all-in-one scheduling API. We already took care of all the common complexities and pitfalls in the calendar management process.

REST API

The backbone of Spurwing is our advanced yet easy to use REST API. You can consult the documentation at https://docs.spurwing.io/
But before you start coding away and reinventing the wheel, we have several official libraries available.

JavaScript Library

https://github.com/Spurwingio/Spurwing-API-Javascript-Library
This library implements Spurwing's API in vanilla JavaScript with AJAX calls.

It's a lightweight and zero-dependency library, ideal for incorporating in your existing JavaScript projects. It can also be used with popular frameworks and libraries like TypeScript, React, Angular, Vue, jQuery, etc.

Usage example:

let sp = new Spurwing();

const PID = 'your provider id';

let allApps = await sp.get_appointment_types(PID, true)
Enter fullscreen mode Exit fullscreen mode

NodeJS Library

https://github.com/Spurwingio/Spurwing-API-NodeJS-Library
This is a NodeJS implementation of our API. It depends on the axios library for HTTP calls.

Usage example:

const Spurwing = require('spurwing')

const PID = 'your_provider_id';
const KEY = 'your_api_key';

let sp = new Spurwing();

let allApps = await sp.list_appointments(KEY, 1000, 0, PID)
Enter fullscreen mode Exit fullscreen mode

React Widget Demo

https://github.com/Spurwingio/Spurwing-ReactJS-widget
This demo project doesn't use the above libraries, but does illustrate how you can integrate our API in React with axios as HTTP client.

Python Library

https://github.com/Spurwingio/Spurwing-API-Python-Library/
This is a Python implementation of our API. It depends on the requests library for HTTP calls.

Usage example:

from spurwing import Client as sp

PID = 'your_provider_id';
KEY = 'your_api_key';

A = sp.list_appointments(KEY, 1000, 0, PID)
Enter fullscreen mode Exit fullscreen mode

Final words

More libraries are being developed right now for C#, Java/Android, iOS and C++. Follow us on DEV to receive updates on our progress.

Cover Photo by https://unsplash.com/@manasvita

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.