My project/GP-project

4. DB 및 와이어 프레임 구상하기

CNOW 2024. 8. 22. 15:12

1. 프로젝트명 구상

(1) 프로젝트 명: 셸위(Shall we)

(2) 프로젝트 명의 의미: 게임 같이 할래? 게임에 대해 함께 이야기를 나누고, 교류하는 장을 만들자는 의미의 이름.

 

 

2. 수강 신청 및 회원 가입 기능 - 세부 사항 검토

(1) 수강 신청 방식: 수강 신청 테이블(카테고리) 별도 생성

(2) 회원가입 - 프로필 사진 여부:

-일반 회원 가입 - 프로필 사진 무: 기본 프로필 사진

-일반 회원 가입 - 프로필 사진 유: 등록된 프로필 사진

-소셜 회원 가입: 연동된 SNS의 프로필 사진

 

 

3. 핵심 기능 설계하기

(1) MBTI 테스트 로직 설계

  • 게임 MBTI 사용 (MBTI 기반 테스트=>직업 결과)
  • MBTI 키워드를(I,E,S,T...) 게임 용어.키워드로 치환해서 보여주기

(2) MBTI 결과를 통한 친구 매칭 설계

  • 추천 리스트: 잘 맞을 것 같은 사람
  • 매칭: 우선순위 (잘 맞을 것 같은 사람순으로 / 안 맞는 사람은 배제)
  • 매칭 후 채팅=>1:1 대화방

(3) 내기 시스템 로직 설계

  • 단톡방 개념
  • 1. 내기 시작 시, 트윕처럼 폼 작성 => 사진/승패 => 이긴 사람에게 포인트 주기
  • 종료시 각자 사진/승패여부? 받는걸로 -> 관리자에게 넘기기
  • 관리자 대시보드에서 관리하기 -> 내기 포인트 가게 하기

(4) 강의 시스템 로직 및 테이블 구상

  • 강사가 강의 올리기 -> 슬롯제로 운영, 예약시 1:1 디엠방 매칭
  • mbti 테스트 (항목, 질문, 결과 유형)
  • 내기 과정
  • 강의 수강 과정

 

4. DB 설계하기

  • 직함 테이블(id, role name)
  • 사용자(id, 직함 id, 이름, 아이디, 비밀번호, 닉네임, 성별, 생년월일, 전화번호, 이메일, ,origin_file_name, upload_file_name, cash, 내기포인트, 스테이터스)
  • mbti 테이블(id, 이름, 직업, 설명)
  • mbti-user (id, userid, mbti_id)
  • report 테이블(id, 타입(어디서했는지), 왜 신고 했는지, 신고한 유저 id, 신고당한 유저, created_at)
  • 캐시 사용 타입 테이블(id, type(현금인출, 충전, 캐시사용, 금액))
  • 사용자_캐시 히스토리 테이블(id, userid, 지출, 수입, 타입, 날짜)
  • 사용자_내기 포인트 히스토리 테이블(id, userid, 지출, 수입, 날짜)
  • 게임 (id, 이름, 장르id)
  • 장르(id, 이름)
  • 강의(id, title, content, limit, current_num, 가격, total 의뢰수, created_at)
  • 강의자-강의 테이블(id, 강의 id, 유저 id)
  • 신청 테이블(id, 강의 id, 강의자 id, 신청자 id, 판수)
  • 공지사항(id, title, content,author,created_at)
  • 이벤트(id, title, content,author,created_at)
  • 질문 게시글(id, title, content, author, created_at)
  • 답글 (id, question_id, content, author, create_at)
  • 커뮤니티 게시글(id, category_id, title, content, author, 조회수, created_at)
  • 댓글 (id, post_id, content, author, create_at)
  • 채팅방(id, user1_id, user2_id)
  • 채팅 로그 (id, room_id, sender_id, content, create_at)
  • 광고배너 위치(id, 위치)
  • 광고배너(id, 위치 id, title, 광고주명, url, origin_file_name, upload_file_name, created_at, 기간)
  • 업적(quest-tb) (id, 업적명, 타입(게시글, 댓글), 달성도(얻기 위한 게시글, 댓글등 수))
  • 유저-업적 진척도)(id, userid, 업적id, 진척도)
  • 유저-칭호(id, userid, 칭호id, created_at)
  • 칭호(id, 업적 id, 이름, 설명)
  • 유저-칭호(id, 칭호 id, 유저id)
  • 환전 신청
    -환불 신청
  • 친구(ID, USER_ID, 친구 ID)
  • 내기-단체방 테이블(id, roomname, 만든사람, 인원수, created_at)
  • 내기 테이블(id, roomid, 내기내용, 거는 포인트. created_at, status-종료전, 종료, 비기기)
  • 내기-유저(id, 내기id, status(승패))
  • 명성-유저( id,준사람id, 받은 사람id)
  • 강의-리뷰(id, 강의id, 글쓴이id, 내용, 평점, created_at)


  • 채팅방->웹소켓
    *보고 더 추가하는걸로.

 

5. 와이어프레임 설계하기

 

 

 

 

 

6. 회고 및 계획

(1) 내일의 계획:

-MBTI 테스트 구상하기

-DB 검토 후 생성하기

-기능 명세서 작성하기

-파트 분배하기

(2) 숙제:

-1명당 MBTI 질문 5개씩 생각해오기

-MBTI 키워드 생각해오기