All Projects β†’ Steppschuh β†’ PlaceTracking

Steppschuh / PlaceTracking

Licence: MIT License
Simple and free to use API for time and location tracking

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to PlaceTracking

Zeit
Zeit, erfassen. A command line tool for tracking time spent on activities.
Stars: ✭ 33 (+57.14%)
Mutual labels:  tracking, time-tracker
Gitlab Time Tracker
πŸ¦ŠπŸ•˜ A command line interface for GitLab's time tracking feature.
Stars: ✭ 371 (+1666.67%)
Mutual labels:  tracking, time-tracker
AppsTracker
Windows Application for tracking computer usage. C# + WPF + MVVM
Stars: ✭ 27 (+28.57%)
Mutual labels:  tracking, time-tracker
Takt
Track your tasks and time
Stars: ✭ 142 (+576.19%)
Mutual labels:  tracking, time-tracker
sparseIndexTracking
Design of Portfolio of Stocks to Track an Index
Stars: ✭ 27 (+28.57%)
Mutual labels:  tracking
denoflow
Configuration as Code, use YAML to write automated workflows that run on Deno, with any Deno modules, Typescript/Javascript codes
Stars: ✭ 143 (+580.95%)
Mutual labels:  ifttt
Perfect-JSON-API
An Example JSON API for Perfect
Stars: ✭ 43 (+104.76%)
Mutual labels:  json-api
basic-transport-info-app
A progressive web app to show direct & indirect buses / transport between two places / cities / stops .Show next schedule & travel duration. Algorithm to calculate indirect buses on basis of their schedule time. Voice search . Locate nearest city/stop by gps. Bus timetable.
Stars: ✭ 12 (-42.86%)
Mutual labels:  json-api
api-gateway
Api Gateway for a microservices deployment
Stars: ✭ 31 (+47.62%)
Mutual labels:  api-service
motis
Intermodal Mobility Information System
Stars: ✭ 45 (+114.29%)
Mutual labels:  json-api
jsonapi-deserializable
Conveniently deserialize JSON API payloads into custom hashes.
Stars: ✭ 23 (+9.52%)
Mutual labels:  json-api
json
a portable, powerful and pure functional JSON library for Scheme
Stars: ✭ 40 (+90.48%)
Mutual labels:  json-api
biolink-model
Schema and generated objects for biolink data model and upper ontology
Stars: ✭ 83 (+295.24%)
Mutual labels:  json-api
alternative-front-ends
Overview of alternative open source front-ends for popular internet platforms (e.g. YouTube, Twitter, etc.)
Stars: ✭ 1,664 (+7823.81%)
Mutual labels:  tracking
Latte
Automatic time tracker for Linux
Stars: ✭ 29 (+38.1%)
Mutual labels:  time-tracker
unfog.vim
⏱ Vim plugin for Unfog CLI task & time manager.
Stars: ✭ 61 (+190.48%)
Mutual labels:  time-tracker
svelte-google-analytics
Google Analytics component for Svelte
Stars: ✭ 41 (+95.24%)
Mutual labels:  tracking
JSONCustomLintr
Library to allow creation, running, and reporting of custom lint rules for JSON files
Stars: ✭ 19 (-9.52%)
Mutual labels:  json-api
podcastfreaks.com
ζ—₯本θͺžγƒ†γƒƒγ‚―η³»γƒγƒƒγƒ‰γ‚­γƒ£γ‚ΉγƒˆγΎγ¨γ‚
Stars: ✭ 42 (+100%)
Mutual labels:  ifttt
face-detectify
πŸ˜… Detect faces in images. Without native modules. It uses tracking.js.
Stars: ✭ 20 (-4.76%)
Mutual labels:  tracking

Tracking API

Simple and free to use JSON API for time / location / whatever tracking. Read about it on Medium.com.

Run in Postman

Demo & Visualization

You can use this JSFiddle to play around with the API and to visualize tracked actions. Feel free to customize it for your needs.

Example Usage

Follow this article to learn how to set this up as automated time tracking solution.

Time Tracking

The most obvious use case is logging how much time you've spent on a project:

  1. Create a User ("Your Name")
  2. Create a Topic ("Project Name")
  3. Add an action each time you start working ("start")
  4. Add an action each time you stop working ("stop")

You can use the collected data to analyse how much time you (or your team) spent on the project.

Location Tracking

You can also use the API to track when you arrive at or leave a location (for example the gym or your office):

  1. Create a User ("Your Name")
  2. Create a Topic ("Location Name")
  3. Add an action each time you arrive ("arrive")
  4. Add an action each time you leave ("leave")

You can use the collected data to check who's currently at the office or when you've been at the gym recently.

IFTTT Automatization

Of course you don't want to manually call this API every time. You can automatically trigger actions using IFTTT. I'd suggest using the Maker Webhooks, it allows you to fire web requests to this API. You could use the location as a trigger when you arrive at or leave the office.

Available API endpoints

All the API endpoints listed below are reachable at:

https://placetracking.appspot.com/api/v3/

Users

Adding a user

You can create users (no account required), simply by providing a name:

curl -X POST \
  https://placetracking.appspot.com/api/v3/users/ \
  -d '{
  "name": "John Doe"
}'

Make sure that you store the id of the returned user object, you will need it later (referred as userId).

Topics

Adding a topic

A topic is anything that you want to track, like time spent on a project or when you arrive at a place. You can create a new topic by providing a name:

curl -X POST \
  https://placetracking.appspot.com/api/v3/topics/ \
  -d '{
  "name": "Testing"
}'

Make sure that you store the id of the returned topic object, you will need it later (referred as topicId).

Actions

Adding an action

An action can bee seen as an event or indicator for a topic. You can create a new action by providing a name, your userId and a topicId:

curl -X POST \
  https://placetracking.appspot.com/api/v3/actions/ \
  -d '{
  "userId": 5629499534213120,
  "topicId": 5910974510923776,
  "name": "start"
}'

In addition to these 3 parameters, the API will also store the current timestamp. It's up to you what you select as name for your action, but you should define some constants for you (or your team). Common action pairs could be:

  • start | stop
  • pause | resume
  • arrive | leave

Deleting an action

If you messed up for some reason, you just need to pass the action id to this endpoint:

curl -X DELETE \
  https://placetracking.appspot.com/api/v3/actions/ \
  -d '{
  "id": 5965499534513120
}'

Fetching actions

If you want to get a list of recent actions (which is the point of this API), you need to specify a userId or topicId (or both):

curl -X GET \
  'https://placetracking.appspot.com/api/v3/actions/?topicId=5707702298738688'

However, you can also combine them with some additional filters:

  • name="start"
  • minimumTimestamp=1468413570000
  • maximumTimestamp=1468417170000
  • count=50
  • offset=25
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].