meggsila / EmployeeCheckin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EmployeeCheckin

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.


banner

About


Languages

Language:Swift 81.2%Language:Objective-C 18.8%