💡My project/셸위 : 게임 친구 매칭 사이트

[셸위:게임 친구 매칭 사이트] 4. DB 및 와이어 프레임 구상하기 - 2024.08.21

Song hyun 2024. 8. 21. 13:58
728x90
반응형

[셸위:게임 친구 매칭 사이트] 4. DB 및 와이어 프레임 구상하기 - 2024.08.21

 

*오늘 해야할 것

No. 해야할 것
1 수강 신청 방식 / 회원정보 프로필 사진 여부 의논하기
2 핵심 기능 설계하기
(1) MBTI 테스트 로직 설계하기
(2) MBTI 결과를 통한 친구 매칭 설계
3 DB 설계하기
4 와이어프레임 설계하기
(1) 테마, 로고, 프로젝트명, MBTI 캐릭터, 컬러
(2) 대시보드, 그래프

 


 

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 설계하기

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

*채팅방->웹소켓

**보고 더 추가하는걸로.


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


6. 회고 및 계획

(1) 반성:

-빠르게 정해야 하거나, 중요하지 않은 부분은 다수결을 통해 빠르게 정하거나, 절충안을 찾자.

 

(2) 내일의 계획:

-MBTI 테스트 구상하기

-DB 검토 후 생성하기

-기능 명세서 작성하기

-파트 분배하기

 

(2) 숙제:

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

-MBTI 키워드 생각해오기

728x90
반응형