Challenge Overview
Welcome to the GE Time Tracker - Implement RallyDev API Challenge. This is a Code challenge where you will implement the RallyDev API in an existing Time Tracker UI Prototype.
Project Overview
We seek to build an application that allows our client’s employees to be assigned tasks in a week. These employees in turn log the time they work on each task assigned to them and submit it. A simple time tracker application but with a lot more features than described here.
Challenge Details
As part of this challenge, we will provide you the following:
-
A fully functional UI Prototype that you can work with and understand how the application needs to function once it is completed
-
An API documentation
As part of this challenge , you need to go through the API documentation to use the APIs mentioned in the documentation to make the front end functional. There is no backend for this contest. All API calls will be made in the front end itself.
You need to support the following features:
-
Pulling the list of tasks assigned to a user and show the same in the front end
-
Allow the user to log their times for each task and submit them.
In addition to the above, kindly note the following about the prototype:
-
On login, the user will see the list of tasks assigned to the user in the current week. However, since the API may not have data for the current week, you can work with data from the previous weeks.
-
Each day will have a list of “User Story”’s
-
Each User Story will in turn have a list of tasks.
-
Users of the application will be entering their time data for each task in a User Story.
-
Each User Story is suffixed with the string “user story”. Similarly, each task will be suffixed with the string “task” - these are intentional in the prototype and not part of the actual User Story / Task titles.
-
The user can select 1, 2 4 and 8 hours for each task. The user can also set a custom hour up to 24 hours.
-
Notice how setting the hours updates the hours for that task. Notice also how this affects the total hours shown - one above the User Story (which shows the total hours for the week) and one next to the Day selected (which shows the total hours for that day).
-
After entering all the task hours, the user will then review the entered hours for each task by clicking on Review at the bottom of the screen.
-
In the Review Page, the user sees all the tasks and the hours set against them.
-
The user can edit the hours entered during review by clicking on Edit at the bottom of the screen.
-
In the Edit page, clicking on the task title will allow the user to edit the hours for that task. Kindly show a hand cursor here when the mouse hovers over the task title to indicate that it can be clicked.
-
The user can save their changes and return to the Review Page (or even cancel any changes made to return).
-
Finally, the user can submit the times entered. In this case, kindly take the user back to the landing page - note that the UI Prototype logs the user out which is not correct.
Note that the UI Prototype works for both Desktop and Mobile views. You need to support both and make sure that you follow the UI Prototype correctly (its elements, their positioning, their functions etc).
Additional Challenge Rules:
- Please refer to the attached Official Rules applicable to this challenge Link
- To the extent there is any conflict between these Official Rules and additional Topcoder Terms and Conditions of Use referenced of the Website, these Official Rules govern.
Final Submission Guidelines
-
No Backend for this challenge. We will run the app in a simple http server. All API calls will be made directly from the client
-
You need to use AngularJS (1.4.x). You can also use jQuery instead of AngularJS. Just make sure that you have not crammed everything into a single script file (non production version that is. Minified and merged version in production allowed).
-
Once you are ready, upload your submission through the Submit and Review tool for this application.