-
Notifications
You must be signed in to change notification settings - Fork 5
week1_output
Yancy edited this page Nov 20, 2020
·
12 revisions
🔖 MongoDB - ERD (설계 참고용)
- 설계를 어떻게 진행할지에 대해서, 1주차에는 참고용으로
ERD로 설명드리겠습니다. - MongoDB로 설계한 내용은 다음 주에 추가하여 말씀드리겠습니다. 😄
CREATE TABLE `user` ( -- 사용자
`id` int(45) auto_increment,
`name` varchar(45), -- 이름
`email` varchar(45) not null, -- 이메일
`password` varchar(100), -- 비밀번호
`imgUrl` varchar(100), -- 유저 프로필 사진 (아직 필수 아님),
`startDay` varchar(40), -- 월요일 / 일요일 중 시작 일 선택
`isSunday` tinyint,
`createAt` timestamp not null default current_timestamp, -- 가입 일
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
);
-- 수입 카테고리 종류: 월급, 용돈, 기타수입
-- 지출 카테고리 종류: 식비, 생활, 쇼핑/뷰티, 교통, 의료/건강, 문화/여가, 미분류
CREATE TABLE `category` ( -- 카테고리
`id` int(45) auto_increment,
`type` varchar(45) default 'expenditure', -- income (수입), expenditure (지출)
`title` varchar(45), -- 카테고리 명
PRIMARY KEY (`id`)
);
-- 식사, 쇼핑, 의료, 통신, 미용
CREATE TABLE `tag` ( -- 태그
`id` int(45) auto_increment,
`type` varchar(45) default 'expenditure', -- income (수입), expenditure (지출)
`title` varchar(45), -- 태그 명
PRIMARY KEY (`id`)
);
CREATE TABLE `payment` ( -- 결제수단
`id` int(45) auto_increment,
`userId` int(45), -- 사용자 ID
`title` varchar(45), -- 결제수단 이름 (현대카드, 현금 등)
`state` varchar(45) default 'registered', -- 등록 상태인지, 삭제 상태인지
PRIMARY KEY (`id`),
FOREIGN KEY (`userId`) references user (`id`)
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE TABLE `transaction` ( -- 거래 내역
`id` int(45) auto_increment,
`userId` int(45), -- 사용자 ID
`categoryId` int(45), -- 카테고리 ID
`paymentId` int(45), -- 결제수단 ID
`amount` int(45), -- 금액
`content` varchar(150), -- 거래 내용
`type` varchar(45) default 'expenditure', -- income (수입), expenditure (지출)
`updateAt` timestamp not null default current_timestamp on update current_timestamp, -- 시간은 GMT 기준
PRIMARY KEY (`id`),
FOREIGN KEY (`userId`) references `user` (`id`),
FOREIGN KEY (`categoryId`) references `category` (`id`),
FOREIGN KEY (`paymentId`) references `payment` (`id`)
);
🔖 Work Flow


🔖 PR / ISSUE / BUG Template
## 🗣 설명
Github 이슈 설명
<br/>
## 📋 체크리스트
> 구현해야하는 이슈 체크리스트
- [ ] 체크 사항 1
- [ ] 체크 사항 2
- [ ] 체크 사항 3
- [ ] 체크 사항 4
<br/>
## 🚧 주의 사항
> 이슈를 구현할 때 유의깊게 살펴볼 사항
- 주의 사항 1
- 주의 사항 2## ✅ 작업 내용
- [ ] 작업 내역 1
- [ ] 작업 내역 2
## 🔨 변경 사항 (구현 사항)
- [ ] 구현 사항 1
- [ ] 구현 사항 2
## 📸 스크린샷 (Optional)
## 🔒 관련이슈 (Optional)
- (close #issueNumber) 형식으로 닫을 이슈를 명시해주세요.### 🤔 Current behaviour (bug)
Write here
<br/>
### 😮 Expected behaviour (correct)
Write here
<br/>
### 😣 버그 재현방법
1. Write here
2. Write here🔖 화면 설계 (기획서)
-
moqups를 활용해 기획서를 작성했습니다.