프로젝트
📮 1. ERD(Entity Relationship Diagram) 작성하기
Chansman
2025. 6. 9. 13:14
📮 1. ERD(Entity Relationship Diagram) 작성하기
💌
**ERD(Entity Relationship Diagram)**는 데이터베이스의 구조를 시각화하여,
데이터 간의 관계를 명확히 파악하고 시스템 전반의 설계를 체계적으로 진행할 수 있게 도와줍니다.
이번 프로젝트에서는 **유저 스토리(User Story)**를 기반으로 ERD를 설계하고,
이에 따라 Django 모델(Model)을 정의해 나갑니다.
🔖
mission_1: 서비스를 분석하여 유저 스토리 작성하기
🧩 유저 스토리 작성
1. 사용자 역할 정의
서비스에서 정의할 사용자 역할은 다음과 같습니다:
역할설명
일반 사용자 | 가계부 및 계좌를 생성하고 거래 내역을 관리하는 핵심 사용자. |
관리자 | 모든 사용자와 거래 내역을 관리하고 수정할 수 있는 권한을 가짐. |
✅ 게스트는 별도로 추가하지 않고, 일반 사용자/관리자 2가지 역할로 구성.
2. 사용자 목표 및 기능 정의
아래는 사용자의 **목표(Goal)**와 **이유(Reason)**를 명확히 설정한 내용입니다.
사용자 스토리설명이유
회원가입 | 사용자는 이메일, 이름, 닉네임, 휴대폰번호, 비밀번호를 입력하여 서비스에 가입할 수 있다. | 서비스 사용을 위한 회원 등록 |
프로필 관리 | 사용자는 자신의 프로필 정보를 조회 및 수정할 수 있다. | 개인정보 수정 및 최신화 |
회원 탈퇴 | 사용자는 언제든지 계정을 비활성화(탈퇴)할 수 있다. | 개인정보 보호 및 서비스 탈퇴 |
로그인/로그아웃 | 사용자는 이메일과 비밀번호로 로그인하고, JWT 토큰을 발급받아 인증 상태를 유지한다. | 인증 기반 보안 강화 |
계좌 생성 | 사용자는 가계부 내에 새 계좌를 개설할 수 있다. (계좌번호, 초기 잔액 설정) | 다계좌 재정 관리 기능 |
계좌 조회/삭제 | 사용자는 자신의 모든 계좌를 조회 및 삭제할 수 있다. | 자산 현황 파악 및 관리 |
거래 추가 | 사용자는 계좌에 거래 내역(금액, 유형, 일시, 설명 등)을 추가할 수 있다. | 수입/지출 기록 기능 |
거래 수정/삭제 | 사용자는 거래 내역을 수정/삭제할 수 있다. 관리자는 모든 거래에 대해 권한을 가진다. | 기록 정정 및 관리 필요 |
거래 조회 | 사용자는 계좌별 거래 내역을 날짜, 유형 등으로 필터링하여 조회할 수 있다. | 재정 상태 모니터링 |
수입/지출 분석 요청 | 사용자는 주간/월간 단위로 수입과 지출 내역 분석을 요청할 수 있다. | 데이터 기반 재정 분석 |
알림 설정 | 사용자는 잔액 부족, 특정 거래 발생 시 알림을 설정할 수 있다. | 재정 위험 상황 사전 인지 |
3. 우선 순위 매기기
우선 순위 기준: 사용자 필수 기능, 비즈니스 가치
기능우선 순위비고
회원가입, 로그인 | ⭐⭐⭐⭐⭐ | 서비스 접근 필수 |
계좌 생성 및 조회 | ⭐⭐⭐⭐⭐ | 기본 자산 관리 기능 |
거래 추가/조회 | ⭐⭐⭐⭐⭐ | 핵심 기능 (가계부 기능) |
프로필 수정 및 탈퇴 | ⭐⭐⭐⭐☆ | 사용자 관리 기능 |
거래 수정/삭제 | ⭐⭐⭐⭐☆ | 편의 기능 (관리자 권한 필요) |
분석 요청 (주간/월간) | ⭐⭐⭐☆☆ | 추가 편의 기능 |
알림 설정 | ⭐⭐☆☆☆ | 부가 기능 |
📊 전체 유저 스토리 (정리)
- 회원가입
- 이메일, 이름, 닉네임, 전화번호, 비밀번호 등록
- User 테이블에 저장
- 프로필 정보 수정 가능
- 탈퇴 시 계정 비활성화
- 활성/비활성 상태 관리
- 관리자 여부 구분
- 로그인/로그아웃
- 이메일+비밀번호 로그인
- JWT 토큰 발급 및 인증
- 로그아웃 시 토큰 블랙리스트 처리
- 계좌 생성 및 관리
- 계좌 번호, 은행 코드, 초기 잔액 등록
- 계좌 정보 조회 및 삭제
- 거래 추가/수정/삭제
- 거래 금액, 유형(입금/출금), 일시, 설명 등록
- 거래 내역 조회
- 거래 내역 수정/삭제 (관리자 권한)
- 거래 내역 조회
- 날짜별, 유형별 필터링 조회
- 거래 내역 시각화
- 주간/월간 분석 요청
- 특정 기간의 수입/지출 분석 요청
- 결과는 차트 또는 요약 리포트 제공
- 알림 설정
- 잔액 기준 알림 설정
- 이메일/앱 푸시 알림 제공
- 읽지 않은 알림 조회