Completed

TimeSheet Website

I need to develop an online TimeSheet webpage for a Temporary Staffing company.? Use of currently available Open Source code is acceptable.? MySQL & PHP is not required but preferred so my own techs can make minor updates in the future.

A mock up Microsoft Excel 2003 (XLS) example is available for download.

__________________

Phase 1:? Generic Web-based Timesheet - User accesses unprotected page and enters in their name, ID and work info and times worked.? Total hours are then calculated and user can print the page for supervisor sign-off (who then faxes it in)

Phase 2:? Our Oracle DB maintains the "jobs" and "employees" on a weekly basis and can generate CSV from the "employee" and "job" tables.? Information from this data will be used as a look up for user authentication and then to autofill the webpage with their job info (and thereby reduce the chances of data entry errors by employees).

Phase 3:? Timesheets will be stored in MySQL as they are entered in and the company SysAdmin will be able to login, download all the timesheets as one file (XLS or PDF) for manual entry

into the Oracle DB

Phase 4:? Data is directly interfaced and fed directly into Oracle (although we're not sure if this is even possible because the Oracle DB is

made by a 3rd party who may not want to provide external access, etc.)

## Deliverables

A spreadsheet is being provided with a mock up of how this website will work. The spreadsheet covers development up to the end of Phase 2. The spreadsheet

still has a few bugs in it which I will document below. I did not want to continue putting in too much time into it since it already adequately demonstrates

my goals.

Also, keep in mind that I fully believe I can accomplish this entire project within my budget of $1,000 and specify what I think each phase represents (in

terms of % of the project) and the payments will be made accordingly. I will also put down my expected timeframe for each part. Please note that I would

like to finish Phase 1 & 2 MUCH faster so the client has something to use & test ASAP) but can take more time with Phases 3,4,5.

Also, since this is a relatively small project, I am less concerned about the price than your ability to deliver on schedule as well as your responsiveness

and expertise in the area. Lastly, because of the overwhelming response, I will now limit this project to PHP/Flash/MySQL unless you can give me a VERY

appealing reason to use something else - again, the reason for this is because my own staff can manage and make minor adjustments to a PHP/Flash/MySQL

system.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Phase 1 - 15% - Single Page Site, TimeSheet Calculator Only, Used for Customer Testing & Feedback

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In phase 1, I need a single page website represented by the first XLS tab (Calculator). User enters in data from the orange areas (ID, Last name, P or M for

Check Pickup/Mail-out, Job # and Week ending date) -- I want to have the week-ending date (always a Sunday) to be auto-filled based on the calendar date and

to increment up every Wednesday morning to the following Sunday. Expected employee usage is between 7am Fridays and 11:59pm the following Monday. We will

also identify the "week" internally with a "Week #" using the following format XXYY where XX is the 2 digit year and YY is the Week # (ie. Jan 4, 2009 = 0901

and July 5, 2009 = 0927)

Sample Calendar:

<> Wednesday - July 1, 2009 (12:01am) - System will update the current Time Sheet to reflect the new "Week Ending Date" from Sunday June 28, 2009 to the

following Sunday (July 5, 2009). The "Week #" will be incremented from 0926 to 0927.

<> Between Friday July 3, 2009 (7am) through Monday July 6th, 2009 (11:59pm), employeee can open the website to enter in their time sheet data.

Employee then fills in their name (green box) and their employer info (purple box). Lastly, and most importantly, Employee fills in the white boxes with

their hours worked. Hours must be between 1-12, Minutes must be 00-59 (2 digits), xm = "am" or "pm" and remarks is an optional memo field.

After pushing a "Calculate" Button, the "results" are then calculated to count hours and minutes and then converted to xx.x decimal format (all fields

displayed on the spreadsheet must be reflected on the web page). The second tab of the spreadsheet (Notes & Variables) specifies how these calculations are

to be performed. You may use open source code for the daily time calculations (incling minute & hour conversions). Please note the conditional formatting

that kicks in per the settings on the second tab (ie. <8 hours per day is one color, 8 hours = green, >8 hours and <10 hours = yellow and above 10 hours =

red -- a similar color formatting applies for the total weekly hours). -- Please note that while we do not need to follow the color scheme, etc. we do want

to notify, in some way, that "non-typical hours" are being printed on the timesheet so that the employee can see any possible data entry mistakes.

The only things not on the spreadsheet left to be added at the bottom is a place to fill in their supervisor's printed name and then 2 blank lines for the

supervisor signature and date. Please also note that the "Reset Time Card" button in the XLS no longer works correctly because I have not updated it after

several revisions to the spreadsheet, but I do want some functionality to clear the webpage and let the employee start over.

The user will then push another button to print the page. The supervisor will then sign it, after which either the employee or supervisor will fax it to the

staffing company.

I would like Phase 1 completed in 48-72 hours so that the Customer can begin testing of the Calculator functionality and provide feedback on the appearance

and to test for non-typical work hours such as starting at 11pm with a lunch at 3am, return from lunch at 4am and finishing the shift at 8am, etc.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHASE 2 - 35% - User authentication and Job information Lookups to autofill the web page.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Tabs 3 and 4 (Employees and Jobs) in the XLS are imported as CSV's queried from an Oracle database. Because the attached spreadsheet contains actual live

data with active ID's and real employee names, I have truncated the last names of the employees for security reasons.

In this phase I want to add a level of user authentication and job information lookups to autofill the web page.

User authentication - Because the active employee list can change every week, I did not want to create a unique email-address-based login for every user.

Instead, I will utilize their unique employee ID (Internal Control Number) to authenticate the user. (Please refer to the attached spreadsheet as you read

this).

In the sample XLS, we use a "lookup system". The final 2 tabs of the spreadsheet were created by running a query on our Oracle DB which generates 2 CSV's.

The first "Employee" CSV is a query of currently "active" employees as well as their First Name, Last Name and unique employee ID "Internatl Control Number".

The 2nd "Job" CSV is a query of currently "active" jobs which the "Employees" are currently working for. Keep in mind that an Employee can work multiple

Jobs and/or a Job can have multiple Employees. This 2nd query pulls the "Job Number", the Job/Employer Company Name and address. Each job contains

"supervisor" information (Name & Phone #) but we may or may not integrate that until Phase 5.

Our sample calendar will now look like the following:

Sample Calendar (UPDATED):

<> Wednesday - July 1, 2009 (12:01am) - System will update the current Time Sheet to reflect the new "Week Ending Date" from Sunday June 28, 2009 to the

following Sunday (July 5, 2009). The "Week #" will be incremented from 0926 to 0927.

<> Between Wednesday July 1, 2009 (7am) until Thursday July 2, 2009 (11:59pm), Administrator will run the 2 queries, generate the 2 CSV's (of "active"

Employees and Jobs) and upload them into the website (either web upload interface or direct FTP upload). The website will then utilize these CSV's for the

time sheets this week.

<> Between Friday July 3, 2009 (7am) through Monday July 6th, 2009 (11:59pm), employeee can open the website to enter in their time sheet data.

Again, There will be no login protection for the employee website access. Employee will entering in their Employee ID, Last Name, "P" or "M" for Pickup/Mail

paycheck and lastly their Job # and then click a "NEXT" button. If both sets of employee information match (ID# and last name), then the website will

considers the employee login validated and update itself to show their full name (first name and last). The website will also update itself with the "job

information" (employer name and address) based on the Job # entered. If either the employee indentification information do not match (User ID & Last Name)

or the Job # is invalid, the user cannot proceed. (this will not yet be a critical error because if the new system fails or the employee cannot properly

complete this first step, he/she can revert back to paper time sheets for the week).

At this point, the user fills in the time sheet data (hours worked) as per above, clicks on a "Calculate" button, and then after reviewing for the proper

data, can click "Print" for their supervisor to sign and fax.

In the provided sample XLS, you can enter in a valid identification combination of Last name and ID and it will then display the full employee name. If the

user does not enter in valid information, it displays "employee not found". You must also enter in a valid Job # for the lookup to work.

One important note, the Oracle DB (Job) query does (for some but not all) generates multiple records that share the same Job # but have different supervisors

or addresses. In the future (phases), I would like the employee to be able to select (via drop-down) which address they are working at. Keep in mind that

ultimately, the location field is irrelevant to the employer because that data is managed within our Oracle database and as long as the proper Job # is

selected that is all we really care about.

I would like Phase 2 completed in 48-72 hours after Phase 1 is complete as this will be the first Live usage prototype for the Customer to begin using in

field trials.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Phase 3 - 35% - Admin interface and printable reports, etc.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

While we may start adding in DB functionality in Phase 2 for the Lookups to work, Phase 3 is where we want to start storing and tracking the entered data

using a MySQL DB. We will now change the "Print" Button to a "Save & Print" button. At this point we also want to generate a unique ID for each saved Time

Sheet. The ID will include the XXYY "Week #" data, a ZZZZ four-digit branch office code (we will start with one office and then expand it to multiple

offices later), and lastly a WWWW four digit time sheet ID. This code "XXYY-ZZZZ-WWWW" will be printed on the bottom of each time sheet and will be stored

in the database as 3 different fields.

One of the purposes for the unique WWWW code is for easy lookup, but also, if an employee enters in multiple time sheets for that week (whether accidental or

intentional), our system will store each of the time sheets entered.

Once that is done, we will create an administrator web interface where each branch administrator can login and print a report of the time sheets entered. In

this phase, the administrator will print the data and then manually re-enter it into the Oracle DB. In phase 4, we will have our system output a CSV that we

can then import into the Oracle DB.

The last significant portion of this phase is a way for adminstrators to check off which timesheets have been "authorized" by the employer (as a new checkbox

Y/N field per each timesheet record) and which have been "printed" by the administrator (another checkbox or Y/N field per timesheet record) and lastly a

"deleted" checkbox Y/N field.

For example, usage may be as follows: At various times between 12noon on Friday through 12noon on Tuesday, the branch administrator can login to see either

ALL the timesheets entered, as well as ONLY the timesheets have or have not been authorized. The admin will then access a convenient interface where they

will check off the "authorized check box" for the ones that have been faxed. Then the admin can print the "unprinted but newly authorized" timesheets for

entry into the Oracle DB.

So, here is an example scenario:

<> Between 7am and 12noon on Friday, timesheets #1,2,3,4 are entered but only 1,2,3 are faxed in.

Record #1 = Authorized=N, Printed=N, Deleted=N

Record #2 = Authorized=N, Printed=N, Deleted=N

Record #3 = Authorized=N, Printed=N, Deleted=N

Record #4 = Authorized=N, Printed=N, Deleted=N

<> Admin logs in at 12noon Friday and prints a list of timesheets not yet authorized (and not deleted) which is 1,2,3,4. Admin then uses the interface to

check off 1,2,3 then SAVE (which updates the Authorized field for 1,2,3) then hits PRINT. Admin will be prompted if the printout is successful and if so,

the Printed field is updated. If not, then admin can attempt another reprint.

(before printing = successful)

Record #1 = Authorized=Y, Printed=N, Deleted=N

Record #2 = Authorized=Y, Printed=N, Deleted=N

Record #3 = Authorized=Y, Printed=N, Deleted=N

Record #4 = Authorized=N, Printed=N, Deleted=N

(after printing = successful)

Record #1 = Authorized=Y, Printed=Y, Deleted=N

Record #2 = Authorized=Y, Printed=Y, Deleted=N

Record #3 = Authorized=Y, Printed=Y, Deleted=N

Record #4 = Authorized=N, Printed=N, Deleted=N

<> Between 12noon Friday and 5pm Friday, timesheets #5,6,7,8 are entered, but timesheet 5 has mistakes and timesheet 6 was created as a replacement. Also, 6

and 7 are faxed in but 8 is not. (4 is still not faxed in yet)

Record #1 = Authorized=Y, Printed=Y, Deleted=N

Record #2 = Authorized=Y, Printed=Y, Deleted=N

Record #3 = Authorized=Y, Printed=Y, Deleted=N

Record #4 = Authorized=N, Printed=N, Deleted=N

Record #5 = Authorized=N, Printed=N, Deleted=N

Record #6 = Authorized=N, Printed=N, Deleted=N

Record #7 = Authorized=N, Printed=N, Deleted=N

Record #8 = Authorized=N, Printed=N, Deleted=N

<> Admin logs in 5pm Friday and prints a list of timesheets not yet authorized (and not deleted) and sees 4,5,6,7,8. Admin receives faxes for 6 & 7 then

uses the interface to check off 6 & 7 then SAVE then PRINT

Record #1 = Authorized=Y, Printed=Y, Deleted=N

Record #2 = Authorized=Y, Printed=Y, Deleted=N

Record #3 = Authorized=Y, Printed=Y, Deleted=N

Record #4 = Authorized=N, Printed=N, Deleted=N

Record #5 = Authorized=N, Printed=N, Deleted=N

Record #6 = Authorized=Y, Printed=Y, Deleted=N

Record #7 = Authorized=Y, Printed=Y, Deleted=N

Record #8 = Authorized=N, Printed=N, Deleted=N

<> By 10am Monday, Timesheet 9 & 10 is created and admins prints a list of timesheets not yet authorized (and not deleted) and sees 4,5,8,9,10. Admin

receives faxes for 4 & 9 and uses interface to check off 4 & 9 then SAVE then PRINT

Record #1 = Authorized=Y, Printed=Y, Deleted=N

Record #2 = Authorized=Y, Printed=Y, Deleted=N

Record #3 = Authorized=Y, Printed=Y, Deleted=N

Record #4 = Authorized=Y, Printed=Y, Deleted=N

Record #5 = Authorized=N, Printed=N, Deleted=N

Record #6 = Authorized=Y, Printed=Y, Deleted=N

Record #7 = Authorized=Y, Printed=Y, Deleted=N

Record #8 = Authorized=N, Printed=N, Deleted=N

Record #9 = Authorized=Y, Printed=Y, Deleted=N

Record #10 = Authorized=N, Printed=N, Deleted=N

<> At 4pm, Admin prints list of unauthorized timesheets (and not deleted) and sees 5,8,10 then calls employer who informs them that #5 is a mistake and admin

checks off deleted field for 5:

Record #5 = Authorized=N, Printed=N, Deleted=Y

<> 4:30pm, admin prints list of unauthorized timesheets (and not deleted) and sees 8 & 10.

I would like Phase 3 completed no more than 1 week after Phase 2 is complete.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Phase 4 - 5%

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In phase 4, I would like to add the feature of exporting a CSV in addition to the PRINT command. This CSV can then be imported directly into the Oracle DB

to skip data entry. There is the possibility that we may not be able to use this feature because of political/policy reasons. If that is the case, then

this section will be eliminated.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Phase 5 - 10% - Misc. Upgrades

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If not already added, I may want to add in Supervisor information into the Job # lookup functionality.

My client has multiple offices. I want to add in the ability to handle multiple offices (each franchise has a different company name along with a unique 4

digit office #). Each office will generate their own separate CSV's that will need to be read by our system to make a unique time sheet webpage for their

office.

Any other minor non-essential upgrades will be added at this time. Any major changes or upgrades will be considered additional work.

* * *This broadcast message was sent to all bidders on Monday Jul 13, 2009 6:28:13 AM:

Thank you for your interest in my project. I had meant to finish my program requirements description much earlier but due to unexpected circumstances I was unable to do so before my bidding deadline and therefore have extended it by 24 hours. Please note that due to the large response so far, I will now limit my selection of a coder to one who will program in PHP and/or FLASH and MySQL. Also, I have made extensive and detailed explainations to my program requirements. Please review the entire project scope and then rebid your price as necessary. It is very important that you are able to deliver in the time frames specified. Lastly, if you have previous experience in the area of creating timesheets, I will give extra weight to you in the selection process if you can provide some sort of sample or demonstration of the product you have already created. I believe that the TimeSheet "calculation engine", while simple in concept, may take the longest to test for complete functionality because of unusual start times, end times, etc. The rest of the project I consider relatively simple database development. Thank you. -Jason

Skills: Adobe Flash, Engineering, MySQL, PHP, Project Management, Software Architecture, Software Testing, Web Hosting, Website Management, Website Testing

See more: your email address is invalid, white paper jobs, which of the following cannot be considered a single phase, where to look for new website development, where to look for jobs online, where can i look for jobs online, where can i found employees, where can i develop website, what we have to do in data entry jobs, what program do i use to open a php file, what is test scenario, what is second shift, what is oracle company, what is meant by email address, what is meant by data entry work, what is meant by data entry jobs, what is manual data entry, what is direct data entry, what is data entry test, what is data entry jobs online

About the Employer:
( 0 reviews ) United States

Project ID: #2799352

Awarded to:

bdsource

See private message.

$346.5 USD in 14 days
(1 Review)
3.1

38 freelancers are bidding on average $699 for this job

ilicotech

See private message.

$680 USD in 14 days
(66 Reviews)
7.3
Usol360

See private message.

$807.5 USD in 14 days
(118 Reviews)
7.1
techfirstvw

See private message.

$765 USD in 14 days
(177 Reviews)
7.1
samirkumardas

See private message.

$850 USD in 14 days
(216 Reviews)
6.7
SparkITS

See private message.

$765 USD in 14 days
(9 Reviews)
6.7
gatelogix

See private message.

$807.5 USD in 14 days
(112 Reviews)
6.6
zubairuddin

See private message.

$765 USD in 14 days
(62 Reviews)
6.3
harisraheem

See private message.

$850 USD in 14 days
(24 Reviews)
6.1
eztechsystems

See private message.

$637.5 USD in 14 days
(14 Reviews)
6.1
jkmcoders

See private message.

$764.15 USD in 14 days
(13 Reviews)
5.8
vw6868760vw

See private message.

$807.5 USD in 14 days
(51 Reviews)
5.6
infocular

See private message.

$637.5 USD in 14 days
(37 Reviews)
5.8
sonuxponse

See private message.

$722.5 USD in 14 days
(47 Reviews)
4.9
katanadesign

See private message.

$595 USD in 14 days
(40 Reviews)
4.7
NuOpus

See private message.

$425 USD in 14 days
(16 Reviews)
4.7
spiderdevelopers

See private message.

$849.15 USD in 14 days
(18 Reviews)
4.4
ITPEOPLES

See private message.

$833 USD in 14 days
(14 Reviews)
4.3
TechShark

See private message.

$680 USD in 14 days
(3 Reviews)
4.0
mestromani

See private message.

$850 USD in 14 days
(3 Reviews)
3.8
mrjrm

See private message.

$850 USD in 14 days
(12 Reviews)
3.7