You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EmployeeCheckin is an iOS application built using the MVVM architecture with interoperability between Swift and Objective-C. The storage used is Core Data.
This app allows employees to check in their time using a date picker.
When the user has not checked in yet, the date picker is initialized with 06:30 of the current day, retrieved from a mocked API call. After the user checks in, the date picker will display their latest check-in time.
FUNCTIONALITIES
📆 Datetime Picker
Users can select their desired check-in time. The selected time is validated to ensure it's not in the future limited by a range till the current date.
🌐 API Integration
The date picker is initialized with with 06:30 of the current day, retrieved from a mocked API call. The mock API response is in JSON format: {"dateTime": "yyyy-MM-dd HH:mm"}.
💽 Persistence
The app has a CoreData database with a table named Employee containing a single attribute called check_in_date_time.
I have performed a minor CoreData migration to add a new attribute called name with a default value
🏛️ Architecture
EmployeeCheckin follows the MVVM architecture pattern.
CheckinViewModel manages Core Data operations while NetworkingViewModel takes care of networking.
USAGE
Launch the EmployeeCheckin app.
Press the "Start" button to access the check-in screen.
Use the date picker to select your desired check-in time.
Press the "Submit" button to save your check-in time.
Your check-in time is now saved in the database and displayed in first screen.