Giter VIP home page Giter VIP logo

thdk / team-timesheets Goto Github PK

View Code? Open in Web Editor NEW
32.0 4.0 10.0 12.19 MB

Time tracking web app built as a replacement for old school timesheets.

Home Page: https://team-timesheets.web.app

License: GNU General Public License v3.0

JavaScript 1.32% TypeScript 95.48% HTML 0.15% CSS 0.06% Dockerfile 0.05% SCSS 2.93%
typescript firebase mobx mobx-react firebase-firestore timesheets time-tracking time-registration time-tracker bigquery

team-timesheets's Issues

Upgrade firestore indexes to new v1beta1 API format

When deploying firestore it shows the following warning:

firestore: your indexes indexes are specified in the v1beta1 API format. Please upgrade to the new index API format by running firebase firestore:indexes again and saving the result.

Cannot delete registration if one of the fields is empty

Click a registration to edit

Make the description field empty.

Click the delete icon in the top app bar.

Result: Show the overview page with the registration with an empty description field.
Expected result: The registration should have been deleted

Support dynamic configs per environment

Currently config.ts file contains the firebase project settings and we need to change these settings every time we want to switch deploy to dev or production.

Create a manifest file

Manifest files allows user to add the web page to their homescreen.

When they launch from the homescreen, the web page will not have an address bar etc...
=> Looks like a native app

Copy paste registrations

Using the multi selection functionality added in #21 user should be able to copy/cut selected registrations.

The user should be able to paste those registrations in any day. All data should be taken from the source registrations, except for the date. The date should be taken from the current view (which can be the same as the date of the source when pasting copy pasting within the same day)

UserStore shouldn't fetch all users

Currently the user store still fetches all users and then picks the data for the current logged in user.
Obviously this shouldn't be needed and shouldn't be allowed for security reasons anyway.

Add multiselect option for registrations

When user use ctrl + click (or double click to be mobile friendly?) on a registration entry, an indicator should display the number of selected registrations in the top app bar.

A button in the top app bar should allow to clear selection.

See contextual top app bar by material design:

image

User updates are not reactive anymore

When updating fields of the user document of the logged in user, the changes are not reflected immediately but require a refresh.

=> user updates (such as defaultClient, defaultTask, recentProjects) should be immediately visible without needing a refresh

update readme to use 'firebase setup:web'

firebase setup:web

prints config for the current active firebase project in the console:

firebase.initializeApp({
  "apiKey": "xxxxxxxxxxxxxx",
  "databaseURL": "xxxxxxxxxxxx",
  "storageBucket": "xxxxxxxxxxxxxx",
  "authDomain": "xxxxxxxxxxxxxx",
  "messagingSenderId": "xxxxxxxxxxxxxx",
  "projectId": "xxxxxxxxxxxxxx"
});

It's much easier to use this than to go to the firebase console and copy paste the settings from there.
No need to leave VS Code.

Navigating from month to day and back should scroll to last selected day

When scrolling through the month overview with registrations, a usecase is that we often want to add/change something for a specific day. To do this, we need to click that day in the month overview and do the desired changes. From the day view, the link to go back to the month overview should include data to ensure we'll see the month overview with the last selected day in view.

Add predeploy script for firebase hosting

when deploy hosting for productions the build script should be run with --env=production as a predeploy script so we don't accidentally deploy development environment variables in production.

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.