Volta is an iOS app for timesheet management. With it, employees can submit their work times for the week and managers can approve or deny their timesheets. Also, admin users can have an eagle-eye view of the organization and see the status of the timesheets of the employees.
All of this in real time as it leverages Firebase's realtime database.
You can easily implement it in your company (and for free!) by changing the Firebase instance it's pointing to.
To have your own Volta, you will need:
- A Firebase account (free)
- Carthage (for building EPSignature)
- Cocoapods (for the rest of the frameworks)
- Create your Firebase account and set up your app in the Firebase console.
- Replace the GoogleService-Info.plist and GoogleService-Info-dev.plist files for the one provided for your app by Google. (They can be different if you want a different Firebase instance for dev).
- Create your first admin user from the Firebase console.
- Copy the generated User UID.
- Replace the first user in the users node in Firebase_initial_DB.json with your first admin user data, including the generated User UID.
- Import your modified Firebase_initial_DB.json into the Database section of the Firebase console.
- Run the app and login with your admin user to start creating managers and employees.
- Enter their timesheets, specify projects worked on the day and send to submission.
- Upload a picture of a paper or screen timesheet if required by attaching to the timesheet week.
- Approve or don't approve the week timesheet entered by employees.
- Manage managers and employees in the company.
- Manage projects and assign them to employees.
- Export timesheet week report to PDF.
- See an overview of the approval status of the timesheets.
- Receive notifications for timesheet submission (Manager), submission reminders (Employee) and project overtime (Admin). (Requires Apple Push Notification Service certificates)
- Firebase - Realtime database, authentication, storage and notifications.
- LGSideMenuController - Side menu.
- ActionSheetPicker - Picker modal for choosing options.
- iOS-htmltopdf - For exporting the timesheets to PDF
- MBProgressHUD - Progress indicator.
- NYTPhotoViewer - Image viewer for timesheets photos.
- EPSignature - For the first time managers login, to record their signature.
- Incorrect appearance of the navigation bar in iPhone X.
- For admin users, progress indicator is not disappearing if there are no employees on the database. Create at least one employee to avoid this.
- At startup, the selected week is the week before the current one and not the current one.
- Jonathan Cabrera - LinkedIn
This project is licensed under the Apache License - see the LICENSE file for details