I'm seeking a proficient developer to create a web-based CRUD (Create, Retrieve, Update, Delete) page for my business. The functional page should comprehensively manage four different types of records: Employees, clients, timesheets, and timesheet entries.
The ideal candidate should be proficient in:
Creating, retrieving, updating, and deleting these specific record types
Implementing a search functionality for timesheets and timesheet entries. Other records do not require this feature
Developing a web-based interface for optimal accessibility and ease-of-use
Must be skilled in Vaadin.
You're the right person for the job if you're detail-oriented, experienced with CRUD operations, and a Web Development expert. Apply if your skill set aligns with my project requirements.
Below are the implementation details.
TimesheetEntry (long id, Timesheet timesheet, long clientId, long employeeId, LocalDateTime start, LocalDateTime end): The timesheet entry should be limited to the range set by the timesheet object it has a connection to and should extend from Base.
Timesheet (long id, Employee employee, Client client, LocalDateTime start, LocalDateTime end, String notes, String clientSignature, String employeeSignature, String medicalCode, Decimal dollarsPerHour, List timesheetEntries, bool completed): Should extend base. Only the administrator can Browse, Edit, Add and Delete a timesheet.
The read page is accessible to both the admin and the employee if they are logged in. The read page should have the functionality to add and remove timesheet entries. Either can add or delete timesheet entries but the entries can not overlap. If attempting to add an entry that overlaps with a preexisting entry, it should notify the user and prevent adding the data.
On the read page, there should be a completed button that requires that both signature boxes are signed before the complete button can be enabled and pressed. Once the completed button is pressed and sent to the server, the complete flag should be flipped and the user should no longer be able to make any changes, although the admin still can.
The browser page should have inputs to filter by start or end date, client name, or employee name.
On the browse page, there should be a download document button that groups entries by ClientId, then by employeeId and medical code. Entries should be displayed from oldest to newest, with additional columns showing hours worked and payment amount.
On the view page, their is a print button once the timesheet is completed and can not be changed that acts like the browse code but with a single timesheet as in input rather than many.
Employee (long id, PersonalInformation personalInformation, String socialSecurityNumber): Should extend the Base object and use the base Service to follow system guidelines.
When someone is added, they should automatically get an account created as just a user to the security account with a password generated for them as a UUID. Also, the add page is only accessible to administrators. When entering the SSN, it should hide all but the last 4 digits of the SSN, and the SSN should be stored securely.
Only the admin can edit the employee information. On the view page, either the employee or the admin can see the page. It should have a show button that shows the full SSN if the owner of the account or the administrator is on the page, else it should just display the last 4 digits.
There should be a view page that just lists simple information about all the employees' not-deleted data and their permissions. Only the admin should access this page. The page should have a delete button with confirmation that calls the services delete button which just sets the delete flag for the object. On the browsing mode, it should have a button to display all the timesheets with the employeeId equal to that employee id of the item the admin has clicked; additionally, it should be on the view page.
Client (long id, PersonalInformation personalInformation, String socialSecurityNumber): Should extend the Base object and act basically like the employee object but only for clients. The client has no access to their pages; only the admin can Browse, Read, Edit, Add and Delete.
Clean up and organize the data while fixing the spelling mistakes. Always aim to be more specific and verbose over losing any information.
------------------------------------------------------------------
ACCEPTANCE OF AGREEMENT. Contractor acknowledges and agrees that by accepting the job offer from Ketro Care for the project, Contractor accepts and agrees to be bound by the terms and conditions of this Agreement. Contractor further acknowledges that acceptance of the job offer constitutes acceptance of this Agreement in its entirety.
This Agreement constitutes the entire understanding between the parties with respect to the subject matter herein and supersedes any and all prior agreements, understandings, or communications, whether written or oral.
INDEPENDENT CONTRACTOR AGREEMENT
This Independent Contractor Agreement (“Agreement”) is entered into by and between Ketro Care, a corporation organized and existing under the laws of the State of Florida hereinafter referred to as "Company” and “Contractor.”
RECITALS
WHEREAS, Company desires to engage Contractor to provide certain services, as further described below; and
WHEREAS, Contractor desires to provide such services to Company; and
WHEREAS, Company and Contractor desire to set forth the terms and conditions upon which Contractor shall provide services to Company.
1. SERVICES. Contractor agrees to provide services to Company in accordance with the project description outlined in the scope of work attached hereto as Exhibit A (“Services”). Company agrees to compensate Contractor for these services in accordance with Exhibit A.
2. OWNERSHIP OF WORK. Contractor acknowledges and agrees that all work created by Contractor in connection with the Services or made available to Company pursuant to this Agreement, including but not limited to, any and all creations, inventions, designs, writings, software, and other materials, whether tangible or intangible, created, invented, or discovered by Contractor during the course of Contractor's work for Company (collectively, the "Work Product"), shall be and remain the property of Company. Contractor hereby irrevocably assigns all right, title, and interest in and to the Work Product to Company.
3. LICENSE TO USE WORK. In the event any work created by Contractor is determined not to be the property of Company under this Agreement, Contractor hereby grants to Company an exclusive, worldwide, royalty-free license to use, reproduce, modify, distribute, and display such work for any purpose, including but not limited to, marketing and promotional activities.
4. CONFIDENTIALITY. Contractor agrees not to disclose to any third party, or use for any purpose other than completing the Services, any confidential information of Company, including but not limited to, trade secrets, proprietary information, and project details. Contractor shall use atleast the same degree of care to protect such information as Contractor uses to protect its own confidential information.
5. NON-SOLICITATION/NON-COMPETITION. Contractor shall not, during the term of this Agreement and for a period of one (1) year thereafter, directly or indirectly solicit or hire, or attempt to solicit or hire, any employee or independent contractor of Company without the prior written consent of Company. Contractor shall not compete with Company during the term of this Agreement and for a period of one (1) year thereafter, whether as an individual, employee, partner, officer, director, shareholder, or other similar capacity, within the territory where Company markets or provides its services.
6. INDEPENDENT CONTRACTOR. Contractor is an independent contractor for all purposes under this Agreement and shall not be considered an employee or agent of Company. Contractor shall be responsible for all taxes, including without limitation, income taxes, social security taxes, and unemployment taxes, and shall not be eligible for any employee benefits.
7. TERMINATION. Company may terminate this Agreement at any time, with or without cause, by providing written notice to Contractor. Upon termination, Contractor shall return all property and confidential information of Company in Contractor's possession.
8. GOVERNING LAW. This Agreement shall be governed by and construed in accordance with the laws of the State of Florida. Any disputes arising out of or related to this Agreement shall be exclusively brought in the state and federal courts located in Florida.
9. ENTIRE AGREEMENT. This Agreement contains the entire understanding between the parties with respect to the subject matter herein and supersedes any and all prior agreements, understandings, or communications, whether written or oral.