Giter VIP home page Giter VIP logo

thdk / team-timesheets Goto Github PK

View Code? Open in Web Editor NEW
33.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 Introduction

Team Timesheets

Cloud Build Codecov

Web base timesheet app. Built to replace old school excel timesheets.

Team Timesheets web app

Try it out yourself ☝️

Or just look at some screenshots 👇

Day view day-view

Month view month-view

Divisions divisions

Settings - tasks settings-tasks

Features

  • Divisions Manage your timesheets seperatly for multiple divisions.
  • Google calendar Get suggestions for your timesheets from your google calendar events.
  • Copy & Paste Simply copy repetitive tasks from one day into many other days.
  • Favorites Quickly insert from your favorites / templates.
  • Export to csv Get csv exports per month for your timesheets.
  • Bigquery Can be set up to sync with bigquery for advanced reports.

Contributing 🎉

Feel free to contribute!

Read the local development instructions and start implementing a feature you are still missing.

Alternatively, see how you can help out by fixing one of the good first issues.

Authors

  • Thomas Dekiere - Initial work - thdk

License

GNU General public license. See license file.

Spam

This app is build using Firestorable. Have a look, it's great! (I made it :))

team-timesheets's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

team-timesheets's Issues

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

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.

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.

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

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

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.

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.

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

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)

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.

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.

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.