프로젝트

📮 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. 우선 순위 매기기

우선 순위 기준: 사용자 필수 기능, 비즈니스 가치

기능우선 순위비고
회원가입, 로그인 ⭐⭐⭐⭐⭐ 서비스 접근 필수
계좌 생성 및 조회 ⭐⭐⭐⭐⭐ 기본 자산 관리 기능
거래 추가/조회 ⭐⭐⭐⭐⭐ 핵심 기능 (가계부 기능)
프로필 수정 및 탈퇴 ⭐⭐⭐⭐☆ 사용자 관리 기능
거래 수정/삭제 ⭐⭐⭐⭐☆ 편의 기능 (관리자 권한 필요)
분석 요청 (주간/월간) ⭐⭐⭐☆☆ 추가 편의 기능
알림 설정 ⭐⭐☆☆☆ 부가 기능
 

📊 전체 유저 스토리 (정리)

  1. 회원가입
    • 이메일, 이름, 닉네임, 전화번호, 비밀번호 등록
    • User 테이블에 저장
    • 프로필 정보 수정 가능
    • 탈퇴 시 계정 비활성화
    • 활성/비활성 상태 관리
    • 관리자 여부 구분
  2. 로그인/로그아웃
    • 이메일+비밀번호 로그인
    • JWT 토큰 발급 및 인증
    • 로그아웃 시 토큰 블랙리스트 처리
  3. 계좌 생성 및 관리
    • 계좌 번호, 은행 코드, 초기 잔액 등록
    • 계좌 정보 조회 및 삭제
  4. 거래 추가/수정/삭제
    • 거래 금액, 유형(입금/출금), 일시, 설명 등록
    • 거래 내역 조회
    • 거래 내역 수정/삭제 (관리자 권한)
  5. 거래 내역 조회
    • 날짜별, 유형별 필터링 조회
    • 거래 내역 시각화
  6. 주간/월간 분석 요청
    • 특정 기간의 수입/지출 분석 요청
    • 결과는 차트 또는 요약 리포트 제공
  7. 알림 설정
    • 잔액 기준 알림 설정
    • 이메일/앱 푸시 알림 제공
    • 읽지 않은 알림 조회