Giter Club home page Giter Club logo

digitalhourbook's People

Contributors

chaphasilor avatar

Stargazers

 avatar

Watchers

 avatar  avatar

digitalhourbook's Issues

Change daysOff object store to hoursOff

In it there will be dates and hours much like the default object store, but those hours will be combined and then subtracted from the total required hours (because there were no working hours but they still need to be accounted for)

Backup weekly hours

Add an option to export and import the user's weekly hours, as those are quite fiddly to set up again and can't be synced yet.

Fix file input

The current file input seems to default to a media/image input on mobile, this probably confuses users...

UX

  • show a loading indicator while syncing events
  • remove 'data copied' message after a few seconds or if another month is exported
  • show the year next to the month on the export page (or let the user select a year?)
  • add a back button on the export page

Filter Weekends

Don't use weekends in the calcluation, this will make implementing auto-holidays easier...

Proz export not working as intended

The month selection on the export page is a bit broken, selecting December will output January, selecting November will output December and so on.
This is most likely just an offset problem and easily fixable.

Setup additional object stores

Create at least two more object stores:

  • weeklyHours, which contains dates and the corresponding amount of working hours per week from that date on
  • daysOff, which containg all dates where you don't have to work (holidays, etc.)
  • hourlyPay, which contains dates and the corresponding hourly pay from that date on

Import days off from google calendar

Filter events with leave in the description so they are not included with the other working days and instead add all of their hours to the hoursOff object store

Specify varying weekly hours from different dates on

This is part of #1

Up until now, the weekly hours are hard-coded as 7 hours per week.
Change this, so that you can specify a date and a number of weekly hours and from that date on until the current day or another date specifying different weekly hours, use these weekly hours to calculated required hours.

Example:

Date Weekly hours
X x1
Y y1

This would result in the program calculating the required hours as #days since day X until day Y*x1 + #days since day Y until today*1.

The first entry should be the day the contract started.

New calculation of required hours

Setup the weekly schedule in a dedicated object store, where you can specify the planned hours for each day of the week.
Use this information when calculating the required hours by checking the weekday for every day. This also applies to days off, where weekdays with 0 planned hours are ignored.

Add overviews

Implement an overview over all hours in the database as well as all hours of the last month

Use labels for input form

Use labels for better styling of the input elements (especially the date picker) and hide the actual inputs where useful.

Export data

  • add an option to export the data as text/a text file.
  • add an option to export the data to a server (see #8)

Server export

Set up a NodeJS server to handle user backups.

  • on first visit of the site (or after site data is deleted) there's no data, so the user is asked if they are new or already have a token. if they are new a unique token is requested from the server and saved in local storage or as a cookie and also presented to the user. they need to take note of the token for later reference.
    if they already have a token, they are prompted for it, then the data is requested from the server and the token is saved again
  • POST: user sends their data, along with the token (no password). the server creates a file with the token and the current date and dumps the user's data into it
  • GET: the user requests data using the token, the server checks if there are files for that token, if yes it sends back the content of the latest file

merge duplicate dates

on some days there are multiple entries at different times, those should be merged to calculate the total hours for that day.

This is (probably - check how days are counted) not an issue for the app itself but is important for exporting to Proz Helper

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.