Time Tracker

Bored of complex applications that does all and nothing ?
Here is my try at building a set of functionnalities for time tracking.

I intend to push a start button when I log in my webmail in the morning, a stop button when I leave and to have a timesheet, and an invoice ready at the end of the month.

Want to know More ?

misc

command result

A Summary in the spirit of the final result I want

day_workedcontractantcustomerfee_by_hourhourfee
2008-01-03juliendefault50.001.1155.74
2008-01-05juliendefault50.001.5879.23
2008-01-05julienmrm50.000.5125.51
2008-01-05julienmoi50.0018.86942.93
2008-01-06julienmrm50.0013.82690.86
2008-01-06julienmoi50.000.062.92
2008-01-06juliendefault50.000.147.06
2008-01-06totodefault50.00210.6910534.45
2008-01-10totomoi50.000.052.50
2008-01-15julienmrm50.000.000.04
2008-01-27julienmoi50.000.010.25
2008-01-28julienmrm50.000.5828.91
2008-01-28juliendefault50.000.8743.57
2008-01-28totomoi50.000.000.17
2008-01-28totomrm50.007.34367.10
2008-01-29julienmoi50.005.54276.88
2008-01-29totomrm50.000.000.20
2008-01-29totomoi50.007.28363.77
2008-01-30juliendefault50.005.99299.43
2008-01-30totomoi50.004.92245.86
2008-01-30juldefault50.000.3316.73
2008-01-30julmoi50.000.2411.82
2008-01-30julmrm50.000.2110.43
2008-01-31juldefault50.000.042.21
2008-01-31julmoi50.000.010.71
2008-02-14julienmrm50.00379.8318991.31
2008-02-28juldefault50.000.000.07
2008-02-29juldefault50.000.000.07
2008-03-07juliendefault50.000.000.03
2008-04-08julienmrm50.000.000.17
2008-07-19juldefault50.00
2008-11-02juliendefault50.00

SELECT 
	DATE(start) as day_worked,
	login as contractant, 
	tag as customer,
	@fee as fee_by_hour,
	CAST(sum(TIME_TO_SEC(TIMEDIFF(stop,start)))/3600 AS DECIMAL(10,2) ) as hour, 
	CAST(sum( TIME_TO_SEC(TIMEDIFF(stop,start))/3600)   * @fee AS DECIMAL(11,2)) as fee
FROM event
GROUP BY day(start),login,tag 
ORDER BY day_worked DESC;

A verbose report of all events to check if summary is correct

idlogintagstartstopstatusminuteslitteral_time
54totomrm2008-01-29 19:07:372008-01-29 19:07:510.200:00:14
51totomrm2008-01-28 19:57:362008-01-29 03:17:44440.107:20:08
50totomrm2008-01-28 19:57:032008-01-28 19:57:070.100:00:04
49totomrm2008-01-28 17:19:462008-01-28 17:20:050.300:00:19
63totomoi2008-01-30 20:54:560000-00-00 00:00:00
62totomoi2008-01-30 20:25:182008-01-30 20:54:4829.500:29:30
59totomoi2008-01-30 16:03:322008-01-30 20:25:14261.704:21:42
58totomoi2008-01-30 15:32:232008-01-30 15:32:430.300:00:20
57totomoi2008-01-30 15:28:492008-01-30 15:32:183.500:03:29
55totomoi2008-01-29 20:33:522008-01-30 03:50:23436.507:16:31
48totomoi2008-01-28 17:18:582008-01-28 17:19:060.100:00:08
47totomoi2008-01-28 17:16:542008-01-28 17:16:580.100:00:04
46totomoi2008-01-28 17:07:252008-01-28 17:07:250.000:00:00
45totomoi2008-01-28 17:07:222008-01-28 17:07:220.000:00:00
44totomoi2008-01-28 17:05:222008-01-28 17:05:220.000:00:00
43totomoi2008-01-28 17:05:192008-01-28 17:05:190.000:00:00
42totomoi2008-01-28 17:03:492008-01-28 17:03:490.000:00:00
41totomoi2008-01-28 17:02:442008-01-28 17:02:440.000:00:00
40totomoi2008-01-28 17:01:112008-01-28 17:01:110.000:00:00
39totomoi2008-01-28 17:01:102008-01-28 17:01:100.000:00:00
38totomoi2008-01-28 17:01:092008-01-28 17:01:090.000:00:00
37totomoi2008-01-28 17:01:082008-01-28 17:01:080.000:00:00
36totomoi2008-01-28 17:01:062008-01-28 17:01:060.000:00:00
35totomoi2008-01-28 17:00:572008-01-28 17:00:570.000:00:00
1totomoi2008-01-10 00:00:002008-01-10 00:03:003.000:03:00
23totodefault2008-01-06 21:37:522008-01-15 16:19:1212641.3210:41:20
83julienmrm2008-04-08 21:22:452008-04-08 21:22:570.200:00:12
79julienmrm2008-02-14 19:47:162008-03-01 15:36:5022789.6379:49:34
33julienmrm2008-01-28 15:37:562008-01-28 16:12:3734.700:34:41
24julienmrm2008-01-15 16:20:462008-01-15 16:20:490.100:00:03
22julienmrm2008-01-06 20:33:492008-01-07 10:22:51829.013:49:02
14julienmrm2008-01-05 15:21:192008-01-05 15:21:430.400:00:24
11julienmrm2008-01-05 13:20:152008-01-05 13:20:180.100:00:03
10julienmrm2008-01-05 13:20:102008-01-05 13:20:130.100:00:03
8julienmrm2008-01-05 12:49:302008-01-05 13:19:3730.100:30:07
53julienmoi2008-01-29 18:13:252008-01-29 23:45:11331.805:31:46
52julienmoi2008-01-29 03:19:342008-01-29 03:20:030.500:00:29
25julienmoi2008-01-27 19:55:182008-01-27 19:55:360.300:00:18
20julienmoi2008-01-06 14:29:292008-01-06 14:32:593.500:03:30
19julienmoi2008-01-05 20:00:292008-01-06 14:26:411106.218:26:12
16julienmoi2008-01-05 15:47:112008-01-05 15:47:220.200:00:11
15julienmoi2008-01-05 15:22:042008-01-05 15:47:0925.100:25:05
9julienmoi2008-01-05 13:19:472008-01-05 13:19:490.000:00:02
85juliendefault2008-11-02 02:37:100000-00-00 00:00:00
82juliendefault2008-03-07 16:21:402008-03-07 16:21:420.000:00:02
61juliendefault2008-01-30 20:23:142008-01-30 20:23:190.100:00:05
60juliendefault2008-01-30 17:01:572008-01-30 19:23:38141.702:21:41
56juliendefault2008-01-30 00:13:002008-01-30 03:50:33217.603:37:33
34juliendefault2008-01-28 16:14:152008-01-28 17:06:3252.300:52:17
21juliendefault2008-01-06 19:34:412008-01-06 19:43:098.500:08:28
18juliendefault2008-01-05 17:54:132008-01-05 19:04:5270.701:10:39
17juliendefault2008-01-05 17:40:472008-01-05 17:53:1712.500:12:30
13juliendefault2008-01-05 14:56:312008-01-05 15:01:174.800:04:46
12juliendefault2008-01-05 14:21:342008-01-05 14:28:407.100:07:06
7juliendefault2008-01-05 12:48:482008-01-05 12:48:520.100:00:04
6juliendefault2008-01-03 12:37:282008-01-03 13:44:2166.901:06:53
76julmrm2008-01-30 23:52:432008-01-31 00:05:1412.500:12:31
77julmoi2008-01-31 00:05:402008-01-31 00:06:310.900:00:51
75julmoi2008-01-30 23:38:152008-01-30 23:52:2614.200:14:11
84juldefault2008-07-19 17:34:200000-00-00 00:00:00
81juldefault2008-02-29 17:41:542008-02-29 17:41:590.100:00:05
80juldefault2008-02-28 07:14:262008-02-28 07:14:310.100:00:05
78juldefault2008-01-31 00:12:042008-01-31 00:14:432.700:02:39
74juldefault2008-01-30 23:31:172008-01-30 23:31:230.100:00:06
73juldefault2008-01-30 23:30:212008-01-30 23:30:270.100:00:06
72juldefault2008-01-30 23:29:302008-01-30 23:29:430.200:00:13
71juldefault2008-01-30 23:09:332008-01-30 23:23:3014.000:13:57
70juldefault2008-01-30 23:09:252008-01-30 23:09:300.100:00:05
69juldefault2008-01-30 23:08:282008-01-30 23:08:310.100:00:03
68juldefault2008-01-30 23:07:432008-01-30 23:08:120.500:00:29
67juldefault2008-01-30 23:07:102008-01-30 23:07:160.100:00:06
66juldefault2008-01-30 23:01:362008-01-30 23:03:191.700:01:43
65juldefault2008-01-30 22:58:232008-01-30 23:01:313.100:03:08
64juldefault2008-01-30 22:55:432008-01-30 22:55:510.100:00:08

My plan for world domination

And above all I want a software as easy to use as a washing machine

Roadmap

Start stop Event

This is the root. I want a pretty simple logic : I don't work for 2 customers at a time, I therfore cannot begin a task while another is running.

Timesheet

Being able to report to costumer how much time I worked for them.

Evil calculation

In accordance with my lawyer and sales partners abilities for establishing contract, I intend to be able in the country where we are supposed to work 35hours a week, to begin to work less as 48 hours a week (the supposedly maximum in all developped countries that signed the International Worl Organisation / Bureau International du Travail).

Lazyness

If I get bored, I will try to have invoice being print, formated, and emailed.

(c) Julien Tayon