Skip to content

iOS App. to Manage Working Time for WLB(Work/Life Balance)

Notifications You must be signed in to change notification settings

HaileyYoon23/WLBapp

Repository files navigation

WLBapp

iOS App. to Manage Working Time for WLB(Work/Life Balance)

1. Introduction

1.1 Purpose

출퇴근을 하면서 중요하다고 생각하는 정보 중 하나는 오늘 몇시부터 퇴근이 가능 하냐에 대한 정보이다.
해당 정보를 통해 그 이후의 출근 계획, 크게는 일주일의 출근계획을 세울 수 있기 때문이다
또한 이러한 전략은 일과 삶의 조화를 아름답게 이룰 수 있는 원동력이 되어준다

일과 삶의 아름다운 조화. Work Life Balance!

이 조화는 더욱 오랜 회사생활을 즐겁게 해줄 수 있다.
허나 iOS 기준, AppStore에 나와있는 어플들은 다양한 유연근무제 형식에 걸맞게 Config.를 하기 힘들고 정말 중요한 오늘 몇시부터 퇴근 가능에 대한 정보를 쉽게 보기 힘들다.
따라서 해당 App.을 제작해보기로 한다.

1.2 BraninStorming


2. Development

2.1 Code Structure


┌ ViewController.swift
│ 
├ DetailViewController.swift
│ └ EditDetailViewController.swift
│
└ SettingViewController.swift

2.1.1 ViewController.swift

앱 실행 시 첫 화면
출근 / 휴게 시작 / 휴게 끝 / 퇴근 의 근무 상태 변경 시 첫 화면의 Button을 눌러 상태 변경 실행

2.1.2 DetailViewController.swift

Detail 정보 표시 화면
금주 모든 근무 기록을 나타냄

2.1.3 EditDetailViewController.swift

각 Detail 정보 수정 화면
출근시간/퇴근시간/휴게시간 의 정보 수정 가능

2.1.4 SettingViewController.swift

사용자 별 근무 시간 설정 화면
해당 정보에 따라 정상출근완료/근태수정필요/지각 등의 출근 상태가 결정됨

2.2 DB Structure

근무 정보 DB는 복잡성을 요구하지는 않지만, 계속해서 DB를 Update 하므로 프로그램 충돌 시의 DB 보존이 가장 중요하다.
따라서 간편하고 트랜잭션과 원자성 동작을 지원하는 SQLite를 사용하였다.

2.2.1 MemoryWorkTime.swift


Id Commute OffWork LastAppUse Rest RealWorkedTime WorkedTime WeekDay DayWorkStatus SpareTimeToWork IsWorking
CHAR(255) CHAR(255) CHAR(255) CHAR(255) Int Int Int Int Int Int Int
2021.03.02 09:18:03 19:59:24 19:59:24 2405 32455 38460 3 3 111545 0
... ... ... ... ... ... ... ... ... ... ...

2.2.2 MemoryInit.swift

Id WeekLeastHour WeekLeastMin DayGoalHour DayGoalMin DayLeastHour DayLeastMin DayLeastStartHour DayLeastStartMin LastUpdatedDate
Int Int Int Int Int Int Int Int Int CHAR(255)
0 40 0 8 0 4 0 15 0 19:59:24

2.2.3 MemoryWeekInfo.swift

Id NonWorkHour NonWorkMin NumOfNonWorkFullDay NumOfNonWorkHalfDay
CHAR(255) Int Int Int Int
2021.03.week1 12 0 1 1
... ... ... ... ...


2.2 StoryBoard


3. Result

3.1 ViewController.swift

  • 시간 경과 시, bar update



  • 출근 Color Status



3.2 DetailViewController.swift

  • 요일별 출근 Detail 표출



3.3 EditDetailViewController.swift

  • 선택 요일에 대한 출근시간/퇴근시간/휴게시간 수정 (당일 수정 시, 퇴근 전일 경우 퇴근시간 수정 불가)



3.4 SettingViewController.swift

  • 사용자 별 출퇴근 관리 설정 변경 (해당 시간에 따라 정상출근/근태수정필요/지각 및 퇴근가능시간 결정)



4. 업데이트 예정

  1. 토/일 자동 비근로 설정
  2. 토/일 제외, 일주일의 마지막 근로일만 '퇴근가능시간' 으로 진행. 나머지는 '퇴근목표시간'
  3. DayGoal 말고 SpareTime으로 퇴근시간 계산시, DayGoal 초과시 퇴근시간 수정 필요
  4. (완료) Detail 탭에 금주 총 근무시간 / 휴게시간 display

About

iOS App. to Manage Working Time for WLB(Work/Life Balance)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages