Coder Social home page Coder Social logo

tnt's Issues

Add a Today Button to the Time Entry Panel

Description

image

Adding a "Today" button to the time entry panel would improve usability a lot for people who do daily time entries.

Acceptance Criteria

  • A "Today" button exists on the date input to allow the immediate selection of today

Automated Testing

Description

In order to detect PRs which fail tests, it would be good to have an automated test pipeline setup.

Acceptance Criteria

  • Tests are ran for each PR to ensure they are operating as expected.

Default Issue Assignment

Description

A common use case for Redmine is to assign time entries against an issue created for a specific individual. It would be helpful to be able to assign a default issue against a project in order to speed up entries.

Acceptance Criteria

  • A user can select a default issue per project to assign time against.

Domain Specific Features

Description

In order to improve the entry mechanisms for specific developers, we should be able to load features for different organisations based on the domain. Primarily this would be useful for maintaining the generic approach for all redmine instances but providing embellishments for specific use cases within a given organisation.

Acceptance Criteria

  • Features can be loaded based on the redmine being pointed at
  • Features that are domain-specific are lazy-loaded to minimise impact

Template Set Customisation

Description

Note that this work relies on #8 being completed, as topics are interpolated into a template to generate time entries.

As a user, I should be able to enter template customizations to better fit my project or field. Consider that "template topics" are the pieces of work that are going to be logged, and "templates" provide an interface to allow bespoke generation of time entries.

An example of a template set could be as follows,

Development for ${topic}, ${hours} hours.
Testing for ${topic}, ${hours} hours.
Verification for ${topic}, ${hours} hours.

Using this information, we can generate 3 entries from 1 topic and distribute that across a desired range.

Acceptance Criteria

  • A user can customize their "template" on a per project basis
  • Templates are persisted into localstorage

Redmine Test Environment

Description

Running against a live Redmine instance is a bad idea for development, we should consider implementing a test environment in order to test features or run e2e tests in a much safer manner.

Acceptance Criteria

  • A running test instance of the redmine application
  • During development, the application points at the test instance

Entry Table Duplicate Entries

When you fill out the Entry Table with data and then select the Issue
The form resets but the data is still stored when you go to submit

image

I know this isn't the normal flow - but I noticed it when I forgot to select the Issue.

Love the application x

Draft Contributing Guidelines

Description

We need some contributing guidelines for people looking to contribute to the project.

Acceptance Criteria

  • Contributing guidelines exist

Implement Basic E2E Testing

Description

We need some UI test coverage, I feel like a basic suite would put us in a much better position for making rapid changes. I'm proposing Cypress as the framework of choice given the low barrier to entry.

Acceptance Criteria

  • E2E tests for creating time entries
  • Scripts to run time entries in something like TravisCI

Improve Entry Table Summary Modal

Currently the Summary Modal just spews out a roughly grouped version of the current data in the table, ideally this could be grouped into tabs by project.

Additionally, there isn't enough data available in the modal to associate the issue IDs with a name - we would need to move the issues data into the Redux store and group it by project.

API key validation

Is there a regex for valid API keys? right now it seems to accept any key that is the right length

Prevent Navigation Without Redmine Details

Description

The user should not be able to navigate into the "Time Entries" section of the application until valid Redmine details are entered.

Acceptance Criteria

  • The user cannot navigate to other parts of the application until valid Redmine details have been entered.

Accept Bulk Entries

Description

We should be able to accept bulk entries, preferably in a CSV format.

Acceptance Criteria

  • It accepts bulk entries in CSV formatted

Template Entry Generation

Description

Note this ticket relies on #8 and #9 to be finished beforehand.
As a user, I should be able to derive entries for a given time period, in order to finish my redmine entries on time.

Acceptance Criteria

  • On the time entries page, a prompt exists to populate entries
  • By pressing the prompt an entering a time range, my entries are generated for me and evenly distributed across the time period.

Verify Redmine Credentials

Description

Upon pressing "save" after entering redmine credentials, we should verify they are correct by making a call to an arbitrary endpoint and ensuring the response is valid.

Acceptance Criteria

  • Saving credentials first checks that the credentials are valid

Issues are not returned for second project

Thanks for this! Looks a lot better than Redmine.

I'm getting an odd issue on the Time Entries screen. I'm in two projects but the issues dropdown list shows the issues for the first project no matter which project I have selected. I checked the network tab in devtools It's only making one API call to get all issues for the second project, but the response returned is actually for the first project.

screenshot_tnt

Give me a shout if you need any more info

Tutorial for Entering Time

Description

It would be nice to have a walk through provided to help users get their redmine API key and address, along with entering some basic time.

Acceptance Criteria

  • The flow of adding credentials has a tutorial
  • The flow of adding time entries has a tutorial

Template Topics

Description

Template topics should allow the developer to specify which topics of work they've been engaged with over the past given period, storing this data will allow us to then generate useful information regarding these topics for time entry automation.

Acceptance Criteria

  • A user can enter a list of topics they have been working on for a given project
  • A user can delete a topic

Submit All Entries Button

Description

Adding a "Submit All" button to the time entries screen could greatly improve usability.

Acceptance Criteria

  • A "Submit All" button exists on the time entries page
  • Submitting an entry successfully removes it from the entries page

Add a Logo to the Navigation Bar

Description

Having a logo would be nice, adding one to the top left of the screen would help the visual balance a bit I think.

Note: There is a TNT logo SVG in the src/img subdirectory, not a strict requirement to use this however.

Acceptance Criteria

  • There is a nice TNT logo in the top left of the screen

[Discussion] New time entry format

In my opinion, the most laborious part of interacting with Redmine is the need to submit individual activities per day. This is still somewhat present with the current time entry form of TNT.

I think it would be good to introduce a new time entry format that would allow multiple entries per activity per day.

Activity Monday Tuesday Wednesday Thursday Friday Comment
Development 7 7.5 Dev
Development 6 7 More dev
Meeting .5 .5
Add activity
Total 7.5 8 6 7 28.5

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.