Giter Club home page Giter Club logo

timesheet.service's People

Contributors

timstuyckens avatar wouterdeman avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

timesheet.service's Issues

Multiple chrome account support.

We only save one token per user but this currently limits the use of multiple chrome accounts which leads to multiple sync storages where tokens could be saved.
Currently a user would log him/herself out every time he/she switches the chrome account.

Solution: The service should be able to store multiple issued tokens per user (max 5?)

Investigate authentication/authorization

We now integrate with the oauth2 services from google so the timesheetmodule can authenticate our company accounts. These security services/features can be different for each use case we will build.

How will we handle more oauth providers, simple api keys, etc...
Is there an external partner/framework that can give us a head start ?

Define and investigate geofencing

We should investigate and define a first meaning of geofencing for our tracking service. What basic features should be implemented to support the timesheetmodule?

Allow entity details to be added to crumbles

The timetracker groups crumbles per entity and day. We should also add details about the entity. In our timesheet example we can add the email addresses and the first/lastname of a user. This allows easy queries and you should not have to lookup the entity id. This is the mongodb way so we are learning every day ;).

Tracked objects (entity, device, etc...)

We should be able to track the devices of an entity in a separate entitytracker. Device id, chrome id, ip address, etc...

This information should also be included every crumble so we can easily query on this data.

Simple solution: Hash in de client steken/hangen...

Ask google for poi suggestions

As seen on google maps, google is able to show poi's. We should investigate if we can retrieve them and use them for suggesting locations when user is at an unknown location.

Locations become areas.

Instead of storing one longitude and latitude value for a location we store and array of them. So we can actually create a 'zone' on the map that represents that certain location. This is to prevent that when you go from one place in the building to the other side of the building (think of this as a very big building), both locations and times spent there are saved separately from one another.

Store locations for a user

Store which locations belong to which user.

Example:
Locations: Corelio, SD, bITe office
Users: Friso, Wouter

Locations for Friso: Corelio, bITe office
Locations for Wouter: SD, Corelio, bITe office

This will enable us start tracking how long (from when until when) a user was at a certain location

User management

The timesheetmodule requires us to have a user concept that we can link to our entries. Our timesheet specific services could provide an api that allows registering users...

Setup grunt to compile and optimize dist

Grunt workon allows us to run a local server to develop.
We still need to work out the grunt default task (build) that should create a deployable and optimized build for production.

Logon with bite account

Enable logon with bite account. This story would enable us to then keep track of locations and time spend there by user

How are we going to update the amount of time spend on a certain location.

There are two possibilities I'm thinking off.

  1. we update the time spent every x seconds/minutes for a certain user.
  2. we check every x seconds/minutes if a user is still on the same location. If he is no longer there we update the time spent on location.

Both methods will give a margin of error equal to the time of the interval but I think we can live with that.

Maybe we can POC both solutions to see what are the up and downsides of each one and see which solutions fits best

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.