개인의 수입과 지출을 체계적으로 관리할 수 있는 웹 기반 가계부 애플리케이션 HTML, CSS, JavaScript만을 사용하여 개발된 클라이언트 사이드 애플리케이션으로, 별도의 서버나 데이터베이스 없이 브라우저의 로컬 스토리지를 활용하여 데이터를 저장
개발 목적:
- 개인 재정 관리의 디지털화 및 효율성 향상
- 실시간 재정 현황 파악 및 지출 패턴 분석
- 직관적이고 사용자 친화적인 인터페이스 제공
- 다양한 디바이스에서 접근 가능한 반응형 웹 애플리케이션
- 수입/지출 분류: 거래 유형별 명확한 구분
- 카테고리 관리:
- 수입: 급여, 부업, 거래, 기타수입
- 지출: 식비, 교통비, 주거비, 의료비, 쇼핑, 교육, 기타지출
- 상세 정보 입력: 금액, 날짜, 설명 등 세부 정보 기록
- 실시간 데이터 저장: 브라우저 로컬 스토리지 활용
- 전체 거래 목록: 날짜순 정렬된 거래 내역 표시
- 월별 필터링: 특정 월의 거래 내역만 선별 조회
- 요약 정보: 총 수입, 총 지출, 잔액 실시간 계산
- 거래 삭제: 개별 거래 데이터 삭제 기능
- 카테고리별 지출 분석: 각 카테고리별 지출 금액과 비율
- 시각적 표현: 막대 그래프를 통한 직관적 데이터 표시
- 비율 계산: 전체 지출 대비 각 카테고리의 비중 분석
- 탭 기반 네비게이션: 입력, 내역, 통계 페이지 간 쉬운 이동
- 라이트/다크 모드: 사용자 선호에 따른 테마 변경
- 반응형 디자인: 데스크톱, 태블릿, 모바일 지원
- 현대적 UI/UX: 그라데이션, 애니메이션 효과
순수 HTML, CSS, JavaScript로 개발되어 별도의 패키지 설치가 필요하지 않음
- Chart.js: CDN을 통해 자동 로드
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>
- 모던 웹 브라우저 (Chrome, Firefox, Safari, Edge)
- 로컬 스토리지 지원 브라우저
- JavaScript 활성화 필요
# 저장소 클론 (GitHub 저장소가 있는 경우)
git clone [저장소 URL]
# 또는 파일 직접 다운로드
# index.html 파일을 로컬에 저장# VS Code로 폴더 열기
code [프로젝트 폴더명]
# 또는 VS Code에서 File > Open Folder 선택- VS Code Extensions에서 "Live Server" 설치
index.html파일 우클릭- "Open with Live Server" 선택
- 자동으로 브라우저에서 실행
# 파일 탐색기에서 index.html 더블클릭
# 또는 브라우저 주소창에 파일 경로 입력
file:///[파일경로]/index.html- "📝 수입/지출 입력" 탭 선택
- 거래 유형: "수입" 선택
- 금액: 3,000,000 입력
- 카테고리: "급여" 선택
- 날짜: 2025-06-01 입력
- 설명: "6월 월급" 입력
- "거래 추가" 버튼 클릭
- 거래 유형: "지출" 선택
- 금액: 45,000 입력
- 카테고리: "식비" 선택
- 날짜: 2025-06-13 입력
- 설명: "점심 식사" 입력
- "거래 추가" 버튼 클릭
- "📋 거래 내역" 탭 선택
- 월별 필터에서 "2025년 6월" 선택
- 해당 월의 모든 거래 내역 확인
- 총 수입, 총 지출, 잔액 요약 정보 확인
- "📊 통계" 탭 선택
- 카테고리별 지출 분석 테이블 확인
- 각 카테고리의 금액과 비율 파악
- 시각적 막대 그래프로 지출 패턴 분석
// 수입 입력 예시
{
type: "income",
amount: 3000000,
category: "급여",
date: "2025-06-01",
description: "6월 월급"
}
// 지출 입력 예시
{
type: "expense",
amount: 45000,
category: "식비",
date: "2025-06-13",
description: "점심 식사"
}// LocalStorage에 저장되는 형태
[
{
id: 1718234567890,
type: "income",
amount: 3000000,
category: "급여",
date: "2025-06-01",
description: "6월 월급"
},
{
id: 1718234567891,
type: "expense",
amount: 45000,
category: "식비",
date: "2025-06-13",
description: "점심 식사"
}
]총 수입: ₩3,000,000
총 지출: ₩345,000
잔액: ₩2,655,000
카테고리 금액 비율 시각화
식비 ₩150,000 43.5% ████████████████████
교통비 ₩80,000 23.2% ███████████
쇼핑 ₩70,000 20.3% ██████████
기타지출 ₩45,000 13.0% ██████
총 지출: ₩345,000
날짜 유형 카테고리 금액 설명 삭제
2025.06.13 지출 식비 ₩45,000 점심 식사 [삭제]
2025.06.01 수입 급여 ₩3,000,000 6월 월급 [삭제]
- 로컬 스토리지 사용: 데이터는 브라우저의 로컬 스토리지에 저장
- 데이터 백업: 브라우저 데이터 삭제 시 모든 거래 내역이 사라질 수 있음
- 용량 제한: 로컬 스토리지는 일반적으로 5-10MB 제한
- 모던 브라우저: Chrome 50+, Firefox 45+, Safari 10+, Edge 14+
- JavaScript 필수: JavaScript가 비활성화된 환경에서는 동작하지 않음
- 로컬 스토리지: 로컬 스토리지를 지원하지 않는 브라우저에서는 데이터 저장이 불가능
- 클라이언트 사이드: 모든 데이터는 사용자 기기에만 저장
- 개인정보: 서버로 전송되는 개인정보 없음
- 백업 권장: 중요한 데이터의 경우 별도 백업을 권장
- 반응형 디자인: 다양한 화면 크기에 최적화
- 가벼운 구조: 외부 의존성이 최소화되어 빠른 로딩 가능
- 메모리 효율성: 로컬 스토리지 사용으로 적은 메모리 사용
- 데이터 내보내기: CSV, Excel 형태로 데이터 내보내기 기능
- 차트 다양화: 원형 차트, 라인 차트 등 다양한 시각화 옵션
- 예산 관리: 월별 예산 설정 및 초과 알림 기능
- 카테고리 커스터마이징: 사용자 정의 카테고리 추가 기능
- 데이터가 사라진 경우: 브라우저 설정에서 로컬 스토리지 확인
- 느린 반응: 브라우저 캐시 삭제 후 재시작
- 레이아웃 깨짐: 브라우저 줌 레벨을 100%로 설정
프로젝트 특징:
- 🚀 빠른 실행: 별도 설치 없이 즉시 사용 가능
- 💾 안전한 저장: 로컬 스토리지로 개인정보 보호
- 📱 어디서나 접근: 반응형 디자인으로 모든 기기 지원
- 🎨 사용자 친화적: 직관적인 인터페이스와 다크/라이트 모드