기능 요구사항
구현을 위한 기능적 요구사항에 대해 서술한다.
Last updated
구현을 위한 기능적 요구사항에 대해 서술한다.
Last updated
고유번호
M-00
명칭
태그
정의
모든 게시물 및 유저가 종속되는 분류
세부내용
모닥불의 모든 게시물 및 사용자의 속성은 태그에 의존한다.
태그의 속성은 다음과 같이 분류된다. 0: 관리자 1: 사용자 2: 게시물 3: 학과
사용자는 1, 3번에 해당되는 태그를 포함하여 자신의 소속을 나타낸다.
게시물은 2, 3번에 해당되는 태그를 포함하여 해당 게시물의 소속을 나타낸다.
관리자를 나타내는 0번 태그는 오직 관리자 계정만 포함되게 되며, 해당 권한을 양도하는 API는 개발하지 않도록 한다.
고유번호
M-01
명칭
커뮤니티(탭, 게시판)
정의
소융대 커뮤니티 기능
세부내용
기존 소융대 웹페이지가 가지고 있는 기능을 계승한다.
또한, 거기서 분석된 개선점을 고려하여 본 서비스에 적용시켜야 한다.
커뮤니티 기능은 기본적으로 다음과 같은 요구사항이 충족되어야 한다. - 커뮤니티의 모든 탭은 정적으로 확장성을 고려하여 게시물의 태그에 따라 자동으로 생성해야 한다. - 커뮤니티 탭은 관리자 권한에 의하여 지속적으로 생성되고 삭제될 수 있으며, 해당 탭이 삭제된다고 해도 기록된 게시물은 DB 내에 보존해야 한다. - 각 커뮤니티 탭에는 관리자, 일반 사용자에 대한 읽기/쓰기 권한이 지정되어야 하며, 해당 정보는 태그에 의존한다.
모든 게시판은 해당 게시판에서 포스트 작성을 시도할 경우, 현재 존재하는 게시판의 모든 태그가 자동으로 등록되어야 한다.
기본적으로 존재하는 게시판의 종류는 다음과 같다,
공지사항
학생회소개
학생회비 내역 - 소융대 모든 학과
민원
갤러리
공모전
세종소융봉사
투표/설문조사
통계자료
해당 탭 중, 학생회소개, 갤러리, 통계자료, 투표/설문조사를 제외한 모든 항목의 게시물은 포스트(M-02)의 기능을 수행하며, 그외에는 모두 별도의 서식을 사용한다.
고유번호
M-02
명칭
포스트
정의
모닥불 내에 존재하는 게시물
세부내용
포스트 역시 기존 소융대 웹페이지가 가지고 있는 기능을 계승한다.
해당 포스트를 호출할 경우, 별도의 페이지를 호출하는 것이 아닌, REST API를 통해 해당 포스트와 관련된 데이터만을 주고받음으로 성능을 최대한 높인다.
포스 기능은 기본적으로 다음과 같은 요구사항이 충족되어야 한다. - 모든 포스트는 제목, 작성자, 내용, 첨부파일 등의 데이터를 포함한다. - 해당 포스트는 작성시, 작성자가 비밀글/익 여부를 결정할 수 있으며, 비밀글일 경우, 관리자 및 작성자 외에는 해당 글을 읽을 수 없게 한다. - 포스트의 첨부파일은 이미지, 문서 파일을 비롯한 종류의 확장자만을 허용해야 한다. - 포스트의 첨부파일 중, 이미지가 존재할 경우 해당 이미지의 미리보기 기능을 제공해야 한다. 또한 모든 첨부파일은 읽기 권한을 가진 사용자에 한하여 다운로드 기능을 제공한다. - 포스트에서 사용자는 좋아요/댓글의 액션을 사용할 수 있으며, 해당 기능은 읽기 권한을 가진 회원 전용으로 한정한다.
포스트의 댓글 기능은 다음과 같은 요구사항이 충족되어야 한다. - 댓글은 해당 게시물의 읽기 권한이 있는 사용자만이 작성할 수 있다. - 댓글에는 해당 댓글에 종속되는 대댓글 기능을 지원한다. - 댓글 작성시, 익명 여부를 결정할 수 있다.
해당 게시물은 작성자에 한하여 수정/삭제 기능이 가능하며, 관리자의 경우, 해당 게시물의 삭제 기능만을 지원한다.
해당 포스트들은 비밀글을 제외한 대상에 한하여, 익명글의 경우, 작성자를 제외한 모든 정보에 한하여 검색 기능을 지원한다.
고유 번호
M-03
명칭
사용자 인증
정의
세종대학교 구성원 인증을 통한 사용자 인증
세부 내용
모닥불은 유저의 차원에서 수행하는 별도의 회원가입 기능을 가지지 않는다.
학교 입학시, 자동으로 생성되는 학번을 사용한 계정을 그대로 해당 서비에서 사용할 수 있도록 한다.
인증이 성공한 해당 학번으로 모닥불에 접근하는 것이 처음일 경우, 백엔드에서 그 즉시 자동으로 회원가입을 처리하여 회원 정보를 기입하고 로그인을 수행한다.
두 번째 이후부터는 기존의 회원 정보를 바탕으로 로그인을 수행한다.
회원 정보로 저장되는 데이터는 다음과 같다.
학번
비밀번호(해쉬처리)
이름
소속학과
고유 번호
M-04
명칭
투표 및 설문조사
정의
학교 이벤트 및 관심사에 대한 투표 및 설문조사 기능
세부 내용
소융대 구성원을 대상으로 하는 투표 기능을 제공한다.
관리자만이 투표를 개설할 수 있으며, 관리자는 해당 투표에 참여할 수 없다.
투표 개설시, 관리자는 (체크박스, 라디오, 단답형)의 양식을 통해 해당 투표를 개설할 수 있다.
투표에는 만료 일자가 기입되어야 하며, 해당 만료 일자가 지날 경우 일반 사용자는 해당 투표 게시물을 페이지에서 확인할 수 없으며, 통계 자료 탭에서 해당 투표의 결과를 확인할 수 있다 .
사용자는 투표/설문조사 탭에서 현재 진행 중인 투표 리스트를 확인할 수 있으며, 권한이 있을 경우 해당 투표에 참여할 수 있다.
고유 번호
M-05
명칭
대외활동 정보 수집
정의
학과 관련 대외활동을 비롯한 각종 정보 크롤링 및 게시
세부 내용
소융대 구성원이 관심을 가질만한 주제를 대상으로 외부 공모전, 취업 관련 게시물을 수집한다.
현재까지 결정된 사이트는 다음과 같다. - 데티즌 공모전 사이트 SW 관련 - 데티즌 공모전 사이트 디자인 관련 - 인디드 취업 공모 IT 관련 - 인디드 취업 공모 디자인 관련
크롤링을 통해 수집된 게시물 또한 해당 태그를 부여한 상태로, 다른 포스트와 함께 관리되며 별도로 URL 및 관련 대표 이미지를 따로 관리한다.
고유 번호
M-06
명칭
관리자 인터페이스
정의
모닥불 관리를 위한 관리자 인터페이스
세부 내용
해당 페이지는 관리자만이 접근이 가능하며, 모닥불 전체 페이지의 관리 기능을 제공한다.
관리자의 권한으로 수행할 수 있는 기능은 다음과 같다. - 총 회원 리스트 - 유저 활동 기록 조회 및 검색 - 유저 쓰기 권한 제어 - 전체 범위 게시글 검색 및 삭제 - 커뮤니티 탭 생성/수정/삭제 기능(단, 초기 탭 수정/삭제 불가) - 헤더 로고 및 아이콘 변경 기능 - 학생회 소개 페이지 수정 기능 - 투표 작성 및 조기 마감 기능 - 갤러리 작성/수정/삭제 기능 - 현재 존재하는 태그 조회 및 추가, 수정, 삭제
관리자 권한으로 특정 데이터를 삭제하는 기능을 수행할 경우, 반드시 한번 더 사용자에게 확인을 받도록 한다.
새로운 커뮤니티 탭을 추가할 경우, 이미 생성된 태그 중에 해당 탭에 소속된 태그를 선정하여 탭을 구축한다.
고유 번호
M-07
명칭
통계 기능
정의
모닥불 사용자 통계 기능
세부 내용
모닥불 서비스의 사용자에 대한 다음과 같은 정보를 제공한다.
통계 자료 탭의 경우 다음과 같은 정보를 제공한다. - 오늘/7일/한달 방문자수 확인 + 방문자수 시각화 그래프 - 오늘/7일/한달 등록된 글 수 + 등록수 시각화 그래프 - 좋아요가 높은 순 게시물 리스트 - 조회수가 높은 순 게시물 리스트 - 투표 현황 및 결과 조회 + 점유율에 대한 시각화
통계 자료 데이터는 모두 csv 파일로 추출이 가능하게 한다.