1. 프로젝트 개요
- 일당직 근로자들이 일한 내역을 기록하고, 월급 명세와 비교할 수 있도록 도와주는 앱입니다. 소규모 공장, 봉제 업종 등에서 근무하는 근로자들은 출근 기록 시스템 없이 스스로 일한 내역을 기록해야 하며, 때때로 총무 부서의 실수로 일당이 누락되거나 차이가 발생할 수 있습니다.
- 이 앱은 단순한 다이어리 이상의 기능을 제공하며, 근로자들이 일한 내용을 정확히 기록하고, 각 월급 명세서와 비교할 수 있는 기능을 갖추고 있습니다.
- 액셀로 해당 데이터를 관리할수도있지만 안드로이드로 앱을 제공하여 편리하게 사용할수 있도합니다.
2. 주요 기능
- 사업장 생성 및 관리
- 사용자가 일한 사업장을 생성하고, 각 사업장에 따라 분류할 수 있도록 합니다.
- 사업장별로 일한 내역을 기록할 수 있으며, 사업장추가, 수정, 삭제 기능을 제공합니다.
- 일일 작업 기록 기능
- 날짜별로 작업 내역을 기록하고 저장합니다.
- 각 기록에는 다음과 같은 정보를 포함합니다:
- 일한 날짜 및 시간
- 일당: 일일 급여 금액
- 추가 수당: 인센티브나 보너스 등 추가적인 수익 기록
- 메모: 해당 날짜의 특이사항이나 추가 정보 기록 가능
- 기록된 내용은 로컬 데이터베이스에 저장되어 필요할 때마다 조회할 수 있습니다.
- 명세서 관리
- 사용자 설정에 따라 월별, 또는 특정 기간 동안의 기록을 정리하여 해당 사업장에서의 명세서를 작성할수있습니다.
- 명세서는 전체 일한 내역, 총 수당 등을 포함해 보여줍니다.
- 명세서는 DB로 저장됨
- 데이터 저장 및 백업
- SQLite를 활용해 기기 내 로컬에 데이터를 저장합니다.
- 앱에서 제공하는 내보내기 기능을 통해 CSV 또는 PDF 형식으로 명세서를 내보낼 수 있어 별도의 백업 없이도 데이터를 보관할 수 있습니다.
- 파일 내보내기
- 명세서를 CSV, Excel, 또는 PDF 파일로 내보내기 가능.
- 내보낸 파일은 사용자가 관리할 수 있도록 로컬 파일 시스템에 저장되며, 필요 시 이메일이나 메시지로 전송할 수 있습니다.
3. UI/UX 설계
- 메인 화면
- 명세서 작성, 일일 작업 기록, 사업장 관리를 쉽게 접근할 수 있는 메인 메뉴를 구성합니다.
- 사업장 관리 화면
- 사용자가 사업장을 추가하고 수정할 수 있도록 간단한 UI를 구성합니다.
- 사용자가 선택한 사업장에 대한 작업 내역을 조회할 수 있도록 필터링 기능을 제공합니다.
- 일일 작업 기록 화면
- 날짜, 시간, 일당 및 수당을 입력하는 간단한 화면으로 구성하여 사용자가 손쉽게 기록할 수 있도록 합니다.
- 기록된 내용을 사업장별로 정렬하거나, 기간별로 필터링할 수 있는 기능을 제공합니다.
- 명세서 페이지
- 선택된 기간 동안의 기록을 요약하여 보여줍니다.
- 해당 사업장에서의 총 일한 시간, 총 수당, 총 금액 등을 보여주어 사용자가 일한 내역을 한눈에 파악할 수 있도록 합니다.
4. DB 설계
1. 사업장 테이블 ( Companies)
- 작업 종류를 분류하는 테이블입니다.
- 사용자가 작업 유형에 따라 사업장을 생성하고 관리할 수 있습니다.
company_id | Int | ( PRIMARY KEY) 고유 ID |
company_name | String | 사업장 이름 |
2. 작업 기록 테이블 (WorkRecords)
- 일일 작업 내역을 기록하는 테이블입니다.
- 날짜별로 작업 정보를 저장하고, 사업장 ID를 참조하여 어떤 작업인지 구분할 수 있습니다.
work_id | Int | ( PRIMARY KEY) 고유 ID |
date | String | 일한날짜 |
company_id | Int | ( FOREIGN KEY) 사업장 ID |
hours_worked | Double | 일한 시간 |
wage | Double | 일당 |
bonus | Double | 보너스 |
notes | String | 노트 |
3. 명세서 테이블 (Statements)
- 특정 기간 동안의 작업 내역을 정리한 명세서 정보를 저장하는 테이블입니다.
- 여러 명세서를 관리할 수 있으며, 통합 명세서 생성 시 필요한 정보도 저장됩니다.
statement_id | Int | ( PRIMARY KEY) 고유 ID |
company_id | Int | ( FOREIGN KEY) 사업장 ID |
statement_name | String | 명세서 이름 |
start_date | String | 시작일 |
end_date | String | 종료일 |
4. 추가/공제 항목 테이블 (Adjustments)
- 명세서에 공제할 추가/공제 항목입니다. 보험이나 세금등으로 빠쪄나가는경우 해당항목을 추가할수있습니다.
adjustment_id | Int | ( PRIMARY KEY) 고유 ID |
statement_id | Int | ( FOREIGN KEY) 명세서 ID |
description | String | 항목 설명 |
amount | Double | 금액 (양수: 추가, 음수: 공제) |
is_percentage | Boolean | 퍼센티지 여부 |
'안드로이드' 카테고리의 다른 글
안드로이드에서 스레드와 코루틴의 차이 (0) | 2024.11.06 |
---|