Skip to content
/ MyPA Public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyPA

My Personal Accountant

개발 목적

  • 여러 사업자를 관리할 때 매입 내역을 엑셀로 관리하다보니 번거로워져서 개발하였습니다.

🗄️ Database Schema

본 프로젝트는 SQLite를 사용하여 사업자 정보를 관리합니다.

1. 사업자 정보 테이블 (biz_info)

관리 대상인 사업자 정보를 저장하는 마스터 테이블입니다.

컬럼명 타입 제약 조건 설명
biz_reg_no TEXT PRIMARY KEY 사업자등록번호 (하이픈 제외 10자리)
biz_name TEXT 상호명 (개인사업자 등 없을 경우 NULL)
owner_name TEXT NOT NULL 대표자 성함
status TEXT 운영 상태 (계속, 폐업 등)
tax_type TEXT 과세 유형 (일반, 간이 등)

Note: 데이터 최적화를 위해 모든 상태 값은 핵심 키워드로 축약하여 저장합니다. (예: 계속사업자 → 계속, 간이과세자 → 간이)


🛠️ 기술적 특징 (Technical Features)

데이터 관리 원칙

  • 데이터 정규화: 사업자등록번호(biz_reg_no)를 고유 키로 설정하여 중복 등록을 방지합니다.
  • 가독성 최적화: GUI 도구에서 데이터를 직관적으로 확인할 수 있도록 하이픈 등 불필요한 특수문자를 제거하고 용어를 단축하여 저장합니다.
  • 안전한 트랜잭션: Python의 with con: 구문(Context Manager)을 활용하여 작업 완료 시 자동으로 commit이 수행되도록 설계되어 데이터 누락을 방지합니다.

UUIDv7 모듈 (uuidv7.py)

향후 확장성을 고려하여 시간순 정렬이 가능한 UUIDv7 생성 모듈을 직접 구현하여 포함하고 있습니다. 이는 Python 표준 라이브러리(uuid)에서 v7을 공식 지원하기 전까지 가교 역할을 하며, 표준 지원 시 최소한의 수정으로 교체가 가능하도록 설계되었습니다.

About

My Personal Accountant

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages