
add the doc about yobi organization planning.
@4e50765de483de8e5aaa3481af46ec1f8d49a693
+++ docs/spec/yobi-organization-plan.md
... | ... | @@ -0,0 +1,95 @@ |
1 | +식별된 ROLE | |
2 | +---------- | |
3 | + | |
4 | +* 그룹멤버 = 그룹관리자 + 그룹참여자 | |
5 | + * 그룹관리자 : 그룹 하위의 프로젝트 생성 및 그룹의 멤버 추가/삭제 가능. | |
6 | + * 그룹참여자 : 그룹의 읽기 권한을 가진 멤버를 의미. | |
7 | +* 프로젝트멤버 = 프로젝트관리자 + 프로젝트참여자 | |
8 | +* 사용자 : Yobi에 접속한 모든 사람. | |
9 | +* 로그인사용자 : 로그인한 사용자 | |
10 | + | |
11 | + | |
12 | +정의 | |
13 | +---- | |
14 | + | |
15 | +* 그룹 페이지 : 어떤 그룹에 속한 프로젝트와 멤버를 한 번에 볼 수 있는 페이지 | |
16 | + | |
17 | + | |
18 | +Group | |
19 | +----- | |
20 | + | |
21 | +* 그룹 생성 | |
22 | + * 로그인한 사용자는 그룹을 만들 수 있다. | |
23 | + * 로그인한 사용자는 그룹 생성시에 복수의 그룹관리자를 지정 할 수 있다. | |
24 | +* 그룹관리자가 할 수 있는 일 | |
25 | + * 그룹관리자는 자신이 관리자인 그룹의 프로젝트를 생성/삭제 할 수 있다. | |
26 | + * 그룹관리자는 자신이 관리자인 그룹의 모든 프로젝트에서 프로젝트 관리자 역할을 수행할 수 있다. | |
27 | + * 프로젝트는 현재는 관리자, 참여자 두 개만 존재하지만 그룹프로젝트에서는 그룹관리자라는 새로운 롤이 생기고 해당 롤은 해당 프로젝트의 관리자 롤과 동일한 기능을 수행 할 수 있다. | |
28 | + * 그룹관리자는 자신이 그룹관리자인 그룹에 자신 이외의 관리자를 추가할 수 있다. | |
29 | + * 따라서 하나의 그룹은 그룹관리자가 두 명 이상이 될 수 있다. | |
30 | + * 그룹관리자는 그룹에 멤버를 추가/삭제를 할 수 있다. | |
31 | + * 멤버들을 특정 그룹으로 묶어서 편하게 보기 위해서 | |
32 | + * 특정 프로젝트는 해당 그룹의 멤버들만 접근가능하게 만들기 위해서 | |
33 | +* 그룹멤버가 할 수 있는 일 | |
34 | + * 그룹멤버는 그룹페이지를 볼 수 있다. | |
35 | + * 그룹 멤버가 아니면 그룹 페이지가 보이지 않음 | |
36 | + * 그룹멤버는 자신이 속한 그룹에서 탈퇴할 수 있다. | |
37 | + * 그룹멤버는 그룹멤버 목록을 볼 수 있다. | |
38 | + * 그룹멤버는 그룹에 속한 프로젝트 목록을 볼 수 있다. | |
39 | +* 검색 | |
40 | + * 사용자는 그룹을 찾기 위해 그룹 이름으로 검색 할 수 있다. | |
41 | + | |
42 | + | |
43 | +Project | |
44 | +------- | |
45 | + | |
46 | +* 생성 | |
47 | + * 로그인사용자는 프로젝트 생성시에 프로젝트를 그룹 또는 개인에게 추가 할 수 있다. | |
48 | + * 자신이 그룹관리자인 그룹에만 프로젝트를 추가 할 수 있다. | |
49 | +* 공개설정 | |
50 | + * 프로젝트관리자는 프로젝트의 공개설정을 private, public, site wide public 중 하나로 설정 할 수 있다. | |
51 | + * 각 설명은 Rule 참조 | |
52 | + | |
53 | + | |
54 | +Rule | |
55 | +---- | |
56 | + | |
57 | +1. 프로젝트 공개설정 별로 프로젝트 열람이 가능한 사용자 | |
58 | + * Group에 속한 프로젝트일 경우 | |
59 | + | |
60 | +| | Private Project | Public Project | Site Wide Public Project | | |
61 | +| ----------- | --------------- | -------------- | ------------------------ | | |
62 | +| 프로젝트멤버 | O | O | O | | |
63 | +| 그룹관리자 | O | O | O | | |
64 | +| 그룹참여자 | X | O | O | | |
65 | +| 사용자 | X | X | O | | |
66 | + | |
67 | + * 개인에게 속한 프로젝트일 경우 | |
68 | + | |
69 | +| | Private Project | Public Project | Site Wide Public Project | | |
70 | +| ---------- | --------------- | -------------- | ------------------------ | | |
71 | +| 프로젝트멤버 | O | O | O | | |
72 | +| 사용자 | X | O | O | | |
73 | + | |
74 | + | |
75 | +추가됐으면 하는 기능 | |
76 | +------------------ | |
77 | + | |
78 | +* Mention | |
79 | + * 그룹 이름으로 멘션 가능? | |
80 | + * 그룹멤버가 아닌 사용자에게도 그룹 이름으로 멘션 가능? | |
81 | +* 프로젝트 넘겨주기 | |
82 | + * 프로젝트관리자는 자신이 관리자인 프로젝트를 그룹 또는 사용자에게 이관 할 수 있다. | |
83 | + * 조직 이동 또는 퇴사 등의 이유로 프로젝트 이관을 하기 위해서. | |
84 | +* 멤버추가 | |
85 | + * 프로젝트관리자는 그룹을 프로젝트멤버로 추가 할 수 있다. | |
86 | + * 이때 그룹관리자를 추가할지, 그룹멤버를 추가할지 선택 가능하다. | |
87 | +* 그룹 페이지 | |
88 | + * 그룹멤버는 하위 프로젝트에 대한 이슈 목록을 모아 볼 수 있다. | |
89 | + * 그룹멤버는 하위 프로젝트에 대한 마일스톤 목록을 모아 볼 수 있다. | |
90 | + * 그룹멤버는 하위 프로젝트에 대한 코드주고받기 목록을 볼 수 있다. | |
91 | + * 그룹멤버는 하위 프로젝트에 대한 대쉬보드를 볼 수 있다. | |
92 | + * 일별로 추가된 이슈와 해결된 이슈를 표현하는 그래프 | |
93 | + * 사람별 이슈를 얼마나 처리했는지 알 수 있는 그래프 | |
94 | + * 일별 LOC 그래프 | |
95 | + * 일별로 얼마나 커밋 됐는지 알 수 있는 그래프 |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?