Time Recorder는 firebase를 활용하여 작업 시간을 기록하기 위해 만들어진 slack app용 백엔드 functions의 모음이다.
2018년 7월 1일부터 대한민국의 300인 이상 사업장을 대상으로 주 40시간(최대 52시간) 근무 제도가 시행되었다. 이에 따라 개인의 업무를 간단하게 기록할 방법을 찾다가 만들게 되었다.
- firebase 계정을 등록
- firebase cli를 설치하고, functions를 init한다. npm install -g firebase firebase init
- TypeScript로 생성된 프로젝트에 functions 폴더에 들어있는 파일들을 적용
- package.json 내용도 반영
slack app
을 생성하고 slash commands와 Interactive Components 를 각각 설정한다.- slash commands: https://
{FUNCTION_HOST}
/command_ping - interative components: https://
{FUNCTION_HOST}
/message_action
- slash commands: https://
- 출/퇴근 기록
- 휴식 및 긴급 대응 기록
- 당일(today), 주간, 특정일(yyyyMMdd) 로그 조회
- 조직장 및 특정 개인에게 8시간 이상 근무 시 slack notification 발송 기능