Find Jobs
Hire Freelancers

TimeSheet Website

$500-1000 USD

Finalizat
Data postării: peste 14 ani în urmă

$500-1000 USD

Plata la predare
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
ID-ul proiectului: 2799352

Despre proiect

38 propuneri
Proiect la distanță
Activ: 15 ani în urmă

Vrei să câștigi bani?

Avantajele de a licita pe platforma Freelancer

Stabilește bugetul și intervalul temporal
Îți primești plata pentru serviciile prestate
Evidențiază-ți propunerea
Te înregistrezi și licitezi gratuit pentru proiecte
Acordat utilizatorului:
Avatarul utilizatorului
See private message.
$346,50 USD în 14 zile
0,5 (1 recenzie)
3,1
3,1
38 freelanceri plasează o ofertă medie de $699 USD pentru proiect
Avatarul utilizatorului
See private message.
$680 USD în 14 zile
4,9 (66 recenzii)
7,3
7,3
Avatarul utilizatorului
See private message.
$807,50 USD în 14 zile
4,8 (118 recenzii)
7,1
7,1
Avatarul utilizatorului
See private message.
$765 USD în 14 zile
4,9 (177 recenzii)
7,1
7,1
Avatarul utilizatorului
See private message.
$850 USD în 14 zile
5,0 (216 recenzii)
6,7
6,7
Avatarul utilizatorului
See private message.
$765 USD în 14 zile
5,0 (9 recenzii)
6,7
6,7
Avatarul utilizatorului
See private message.
$807,50 USD în 14 zile
5,0 (112 recenzii)
6,6
6,6
Avatarul utilizatorului
See private message.
$765 USD în 14 zile
4,9 (62 recenzii)
6,3
6,3
Avatarul utilizatorului
See private message.
$850 USD în 14 zile
4,8 (24 recenzii)
6,1
6,1
Avatarul utilizatorului
See private message.
$637,50 USD în 14 zile
3,9 (14 recenzii)
6,1
6,1
Avatarul utilizatorului
See private message.
$764,15 USD în 14 zile
4,5 (13 recenzii)
5,8
5,8
Avatarul utilizatorului
See private message.
$807,50 USD în 14 zile
5,0 (51 recenzii)
5,6
5,6
Avatarul utilizatorului
See private message.
$637,50 USD în 14 zile
3,7 (37 recenzii)
5,8
5,8
Avatarul utilizatorului
See private message.
$722,50 USD în 14 zile
5,0 (47 recenzii)
4,9
4,9
Avatarul utilizatorului
See private message.
$595 USD în 14 zile
4,9 (40 recenzii)
4,7
4,7
Avatarul utilizatorului
See private message.
$425 USD în 14 zile
4,7 (16 recenzii)
4,7
4,7
Avatarul utilizatorului
See private message.
$849,15 USD în 14 zile
4,9 (18 recenzii)
4,4
4,4
Avatarul utilizatorului
See private message.
$833 USD în 14 zile
4,5 (14 recenzii)
4,3
4,3
Avatarul utilizatorului
See private message.
$680 USD în 14 zile
5,0 (3 recenzii)
4,0
4,0
Avatarul utilizatorului
See private message.
$850 USD în 14 zile
4,6 (3 recenzii)
3,8
3,8
Avatarul utilizatorului
See private message.
$850 USD în 14 zile
5,0 (12 recenzii)
3,7
3,7

Despre client

Steagul UNITED STATES
United States
0,0
0
Membru din iul. 7, 2009

Verificarea clientului

Alte proiecte ale acestui client

Timesheet app upgrade to MySQL
$100-250 USD
Mulțumim! Ți-am trimis prin e-mail linkul pe care trebuie să-l accesezi pentru a revendica creditul gratuit.
A apărut o eroare la trimiterea e-mailului. Încearcă din nou.
Utilizatori înregistrați Totalul proiectelor postate
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Se încarcă previzualizarea
S-a oferit permisiunea de depistare a locației.
Ți-a expirat sesiunea pentru conectare sau te-ai deconectat. Conectează-te din nou.