1. 프로젝트 개요

해당 프로젝트는 지금까지 제가 토이 프로젝트, 공모전 프로젝트를 하며 사용한 기술들과 겪었던 문제들을 하나의 프로젝트를 만들며 스프링 학습에 도움을 드리기 위해 제작하는 프로젝트입니다. 많은 질문과 지적해주시면 감사합니다.

Restful API로 진행될 예정이며, Postman을 이용하여 테스트를 진행합니다. Postman이 깔려있지 않으시다면 링크에서 설치와 사용법을 익혀주세요:)

(다양한 유형과 방법을 공유해드리기 위해 프로젝트가 다소 난잡해 보일 수 있습니다.)

https://dingdingmin-back-end-developer.tistory.com/entry/Postman-%EC%84%A4%EC%B9%98%EC%99%80-%EC%82%AC%EC%9A%A9%EB%B2%95

 

Postman 설치와 사용법

Postman이란? API 개발을 빠르게 만들 수 있고, 이미 개발이 완성된 프로젝트에 대하여 Test가 가능합니다. Test를 위해 다양한 기능을 제공합니다. (다양한 종류의 Request, Header, Session 등등) Postman 설치

dingdingmin-back-end-developer.tistory.com


2. 프로젝트 상세 설명

User는 Member, TeamFounder, LeagueHost로 나뉘어 회원가입과 로그인을 진행합니다. 

 

Member

  1. Member는 팀에 가입신청을 할 수 있습니다. 
  2. Member는 여러 팀에 가입신청 할 수 있지만 한 팀에만 가입 가능합니다.
  3. TeamFounder가 수락을 해야 팀에 가입이 완료됩니다.
  4. Member는 팀을 떠날 수 있습니다.

TeamFounder

  1. TeamFounder는 하나의 Team만 만들 수 있습니다.
  2. TeamFounder는 Member가 신청한 리스트를 확인할 수 있으며 수락이 가능합니다.
  3. TeamFounder는 Team해체가 가능합니다.
  4. TeamFounder는 League 참가 신청을 할 수 있습니다.
  5. LeagueHost가 수락을 해야 League에 참가가 완료됩니다.
  6. 여러 리그에 신청이 가능하지만 한 League에만 참석이 가능합니다.

LeagueHost

  1. LeagueHost는 League를 개최할 수 있습니다.
  2. LeagueHost는 League 참가를 희망한 팀의 리스트를 확인할 수 있으며 수락이 가능합니다.
위와 같은 User는 ROLE이 나뉘며 각자가 수행할 수 있는 행위가 있습니다.

3. ERD

  1. Member는 팀 가입 신청을 여러 개 할 수 있으므로 RequestTeam 요청과 1:다 관계를 이룹니다.
  2. 여러 개의 RequestTeam 요청은 하나의 Team에 속하므로 다:1 관계를 이룹니다.
  3. 하나의 Team에는 여러명의 Member가 속하므로 1:다 관계를 이룹니다.
  4. Team 리그 참가 신청을 여러 개 할 수 있으므로 RequestLeague 요청과 1:다 관계를 이룹니다.
  5. 여러 개의 RequestLeague 요청은 하나의 League에 속하므로 다:1 관계를 이룹니다.
  6. 하나의 League에는 여러명의 Team이 속하므로 1:다 관계를 이룹니다.

4. 클래스 다이어그램

 

전체적인 형태는 위와 같습니다. 다음은 프로젝트 생성을 하겠습니다. 감사합니다.